#include?"pch.h" #include?//創(chuàng)建鏈表 typedef?struct?ListTable? { int?nElement;????//鏈表元素 int?nSequence;???//節(jié)點序號 ListTable?*pNext;//下一個節(jié)點 }ListTable; //初始化鏈表 //參數(shù):元素的值 ListTable*?initListTable(int?nNum) { //頭結(jié)點 ListTable?*head; //申請內(nèi)存 head?=?(ListTable*)malloc(sizeof(ListTable)); //初始化成員變量 head->nElement?=?nNum; head->nSequence?=1; head->pNext?=?NULL; //返回頭結(jié)點指針 return?head; } //插入元素 //參數(shù):鏈表指針?元素的值 void?insertElement(ListTable?*list,?int?nNum) { //創(chuàng)建局部變量 ListTable?*pList?=?list; int?nCount?=?list->nSequence; //申請新的節(jié)點空間 ListTable?*pNode?=?(ListTable*)malloc(sizeof(ListTable)); //遍歷鏈表 while?(pList?!=?NULL) { //如果下一個節(jié)點為空,則插入元素 if?(pList->pNext?==NULL) { pList->pNext?=?pNode; pNode->nSequence?=?nCount?+?1; pNode->nElement?=?nNum; pNode->pNext?=?NULL; return; } nCount?+=?1; pList?=?pList->pNext; } } //刪除指定序號元素 //參數(shù):鏈表指針??元素序號 void?deleteElement(ListTable?*list,int?nSequence) { //如果是第一個節(jié)點,直接free if?(list->nSequence?==?nSequence) { free(list); return; } //創(chuàng)建局部變量 ListTable?*pList?=?list; ListTable?*pTmp=NULL; //遍歷鏈表 while?(pList!=NULL) { //如果序號相等,刪除指定序號元素 if?(pList->pNext->nSequence?==?nSequence) { pTmp?=?pList->pNext->pNext; free(pList->pNext); pList->pNext?=?pTmp; //之后的序號依次減一 while?(pTmp?!=?NULL) { pTmp->nSequence?-=?1; pTmp?=?pTmp->pNext; } return; } pList?=?pList->pNext; } printf("節(jié)點不存在!\n"); } //修改元素 //參數(shù):鏈表指針??元素序號??元素的值 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é)點不存在!\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??元素序號:%d\n",?pList->nElement,?pList->nSequence); pList?=?pList->pNext; } } int?main() { //初始化鏈表?第一個元素為1 ListTable?*list=?initListTable(1); //插入2,3,4,5四個元素 insertElement(list,?2); insertElement(list,?3); insertElement(list,?4); insertElement(list,?5); //修改序號5的元素為6 changeElement(list,?5,?6); //刪除序號為3的元素 deleteElement(list,?3); //遍歷 showElement(list); //釋放 deleteListTable(list); }
vs2017編譯
成都創(chuàng)新互聯(lián)公司主營福安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),福安h5微信小程序搭建,福安網(wǎng)站營銷推廣歡迎福安等地區(qū)企業(yè)咨詢另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。