#include?"pch.h" #include?<iostream> //創(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編譯
成都創(chuàng)新互聯(lián)公司主營(yíng)福安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開(kāi)發(fā),福安h5微信小程序搭建,福安網(wǎng)站營(yíng)銷(xiāo)推廣歡迎福安等地區(qū)企業(yè)咨詢(xún)另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站題目:C++簡(jiǎn)單單向鏈表實(shí)現(xiàn)-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article8/phhip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、微信公眾號(hào)、App開(kāi)發(fā)、建站公司、外貿(mào)建站、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容