新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C++簡單單向鏈表實(shí)現(xiàn)-創(chuàng)新互聯(lián)
#include?"pch.h" #include?//創(chuàng)建鏈表 typedef?struct?ListTable? { int?nElement;????//鏈表元素 int?nSequence;???//節(jié)點(diǎn)序號(hào) ListTable?*pNext;//下一個(gè)節(jié)點(diǎn) }ListTable; //初始化鏈表 //參數(shù):元素的值 ListTable*?initListTable(int?nNum) { //頭結(jié)點(diǎn) ListTable?*head; //申請(qǐng)內(nèi)存 head?=?(ListTable*)malloc(sizeof(ListTable)); //初始化成員變量 head->nElement?=?nNum; head->nSequence?=1; head->pNext?=?NULL; //返回頭結(jié)點(diǎn)指針 return?head; } //插入元素 //參數(shù):鏈表指針?元素的值 void?insertElement(ListTable?*list,?int?nNum) { //創(chuàng)建局部變量 ListTable?*pList?=?list; int?nCount?=?list->nSequence; //申請(qǐng)新的節(jié)點(diǎn)空間 ListTable?*pNode?=?(ListTable*)malloc(sizeof(ListTable)); //遍歷鏈表 while?(pList?!=?NULL) { //如果下一個(gè)節(jié)點(diǎn)為空,則插入元素 if?(pList->pNext?==NULL) { pList->pNext?=?pNode; pNode->nSequence?=?nCount?+?1; pNode->nElement?=?nNum; pNode->pNext?=?NULL; return; } nCount?+=?1; pList?=?pList->pNext; } } //刪除指定序號(hào)元素 //參數(shù):鏈表指針??元素序號(hào) void?deleteElement(ListTable?*list,int?nSequence) { //如果是第一個(gè)節(jié)點(diǎn),直接free if?(list->nSequence?==?nSequence) { free(list); return; } //創(chuàng)建局部變量 ListTable?*pList?=?list; ListTable?*pTmp=NULL; //遍歷鏈表 while?(pList!=NULL) { //如果序號(hào)相等,刪除指定序號(hào)元素 if?(pList->pNext->nSequence?==?nSequence) { pTmp?=?pList->pNext->pNext; free(pList->pNext); pList->pNext?=?pTmp; //之后的序號(hào)依次減一 while?(pTmp?!=?NULL) { pTmp->nSequence?-=?1; pTmp?=?pTmp->pNext; } return; } pList?=?pList->pNext; } printf("節(jié)點(diǎn)不存在!\n"); } //修改元素 //參數(shù):鏈表指針??元素序號(hào)??元素的值 void?changeElement(ListTable?*list,?int?nSequence,int?nNum) { ListTable?*pList?=?list; while?(pList?!=?NULL) { if?(pList->nSequence?==?nSequence) { pList->nElement?=?nNum; return; } pList?=?pList->pNext; } printf("節(jié)點(diǎn)不存在!\n"); } //釋放鏈表 //參數(shù):鏈表指針 void?deleteListTable(ListTable?*list) { ListTable?*pList?=?list; ListTable?*pTmp=NULL; while?(pList?!=?NULL) { pTmp=?pList->pNext; free(pList); pList?=?pTmp; } printf("釋放完成!\n"); } //遍歷鏈表元素 //參數(shù):鏈表指針 void?showElement(ListTable?*list) { ListTable?*pList?=?list; if?(pList?==?NULL) { printf("鏈表為空!\n"); return; } while?(pList?!=?NULL) { printf("鏈表元素:%d??元素序號(hào):%d\n",?pList->nElement,?pList->nSequence); pList?=?pList->pNext; } } int?main() { //初始化鏈表?第一個(gè)元素為1 ListTable?*list=?initListTable(1); //插入2,3,4,5四個(gè)元素 insertElement(list,?2); insertElement(list,?3); insertElement(list,?4); insertElement(list,?5); //修改序號(hào)5的元素為6 changeElement(list,?5,?6); //刪除序號(hào)為3的元素 deleteElement(list,?3); //遍歷 showElement(list); //釋放 deleteListTable(list); }
vs2017編譯


另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站標(biāo)題:C++簡單單向鏈表實(shí)現(xiàn)-創(chuàng)新互聯(lián)
瀏覽路徑:http://fisionsoft.com.cn/article/phhip.html


咨詢
建站咨詢
