![c鏈表使用完整代碼_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/18/3c2aaea9-7cab-400e-ab54-a39b9a40de9f/3c2aaea9-7cab-400e-ab54-a39b9a40de9f1.gif)
![c鏈表使用完整代碼_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/18/3c2aaea9-7cab-400e-ab54-a39b9a40de9f/3c2aaea9-7cab-400e-ab54-a39b9a40de9f2.gif)
![c鏈表使用完整代碼_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/18/3c2aaea9-7cab-400e-ab54-a39b9a40de9f/3c2aaea9-7cab-400e-ab54-a39b9a40de9f3.gif)
![c鏈表使用完整代碼_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/18/3c2aaea9-7cab-400e-ab54-a39b9a40de9f/3c2aaea9-7cab-400e-ab54-a39b9a40de9f4.gif)
![c鏈表使用完整代碼_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/18/3c2aaea9-7cab-400e-ab54-a39b9a40de9f/3c2aaea9-7cab-400e-ab54-a39b9a40de9f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C + 鏈表使用完整代碼/*/*練習(xí)使用鏈表:創(chuàng)建鏈表、遍歷鏈表、查找節(jié)點(diǎn)、添加 節(jié)點(diǎn)、刪除節(jié)點(diǎn)*/#include stdio.h#include string.h#include assert.h#include stdlib.h#include windows.h#define COUNT 3/ 定義一個(gè)節(jié)點(diǎn)結(jié)構(gòu) 體struct NODEunsigned long uID;char strName16; / 用指針的話會(huì)出訪問沖突異常NODE *next;/ 創(chuàng)建一個(gè)具有 n 個(gè)節(jié)點(diǎn)的鏈表, 從鍵盤輸入數(shù)據(jù)將其初始 化,并返回鏈表的首節(jié)點(diǎn)指針 NODE *createNode(int n
2、)NODE *pHead, / 首節(jié)點(diǎn)指針*pRear, / 尾節(jié)點(diǎn)指針pNew; / 新節(jié)點(diǎn)指針int i;char *strName = new char16;for (i=0; i<n; i+).pNew = new NODE;do.printf( 請輸入 ID 和名稱: ); scanf(%d %s,&pNew->uID, strName);if (strlen(strName) > 16).printf( 輸入名稱長度超出范圍,請重新輸 入: );Sleep(1000); while(strlen(strName) > 16); strcpy(pNew
3、->strName, strName); if (0=i).pRear = pHead = pNew;else.pRear->next = pNew; pNew->next = NULL; pRear = pNew;delete strName; return pHead;/打印鏈表中所有節(jié)點(diǎn)的數(shù)據(jù) void printNode(NODE *pHead) NODE *pTemp = pHead; assert(pTemp != NULL); while (pTemp != NULL) .printf(%d %s ,pTemp->uID, pTemp->strNam
4、e);pTemp = pTemp->next;/ 查詢鏈表中具有指定 ID 的節(jié)點(diǎn),并返回此節(jié)點(diǎn)指針NODE *searchNode(NODE *pHead, unsigned long uID) NODE *pDest = pHead; assert(pDest != NULL);while (pDest->next!=NULL && pDest->uID!=uID).pDest = pDest->next; if (pDest->uID = uID).return pDest; else.printf( 搜索失敗,未找到找定 ID 的節(jié)點(diǎn)! )
5、; return NULL;/ 刪除指定 ID 的節(jié)點(diǎn)NODE *deleteNode(NODE *pHead, unsigned long uID) NODE *pDest, / 要?jiǎng)h除的節(jié)點(diǎn)*pBefore; / 前一個(gè)節(jié)點(diǎn) pDest = pHead; assert(pDest != NULL); while (pDest->next!=NULL && pDest->uID!=uID).pBefore = pDest;pDest = pDest->next;if (pDest->uID = uID).if (pDest = pHead).pHead
6、 = pDest->next;else.pBefore->next = pDest->next;free(pDest);printf( 節(jié)點(diǎn)已被刪除! );else.printf( 未找到指定節(jié)點(diǎn),無法將其刪除! ); return pHead;/ 在指定 ID 的節(jié)點(diǎn)后插入一個(gè)新的節(jié)點(diǎn)NODE *insertNode(NODE *pHead, unsigned long uID)NODE *pDest, *pNew; pDest = pHead; assert(pDest != NULL); while(pDest->next!=NULL &&pDes
7、t->uID!=uID).pDest = pDest->next;if(pDest->uID = uID).pNew = new NODE; printf( 請輸入新節(jié)點(diǎn)的 ID 和名稱: );scanf(%d %s,&pNew->uID,pNew->strName); pNew->next = pDest->next; pDest->next = pNew; printf( 節(jié)點(diǎn)插入完成! );else.printf( 未找到指定節(jié)點(diǎn)! );return pHead;void main()NODE *pHead, *pDest;int
8、nSelect;bool isExit = false;unsigned long uID;printf( 請根據(jù)提示輸入數(shù)據(jù)初始化鏈表: ); pHead = createNode(COUNT);assert(pHead != NULL);printf( 鏈表創(chuàng)建成功!存儲(chǔ)數(shù)據(jù)如下: ); printNode(pHead);while (!isExit).printf( );printf( 請選擇要進(jìn)行的操作: ); printf(1. 打印出鏈表所有節(jié)點(diǎn)數(shù)據(jù): ); printf(2. 輸入 ID 查詢名稱。 );printf(3. 刪除指定 ID 的節(jié)點(diǎn)。 );printf(4. 在指定
9、 ID 的節(jié)點(diǎn)后插入一個(gè)新的節(jié)點(diǎn) );printf(5. 退出。 );printf( );scanf(%d,&nSelect);switch(nSelect).case 1:printf( 鏈表所有節(jié)點(diǎn)數(shù)據(jù)如下: ); printNode(pHead);break;case 2:printf( 請輸入要查詢的節(jié)點(diǎn)的 ID: ); scanf(%d,&uID);pDest = searchNode(pHead, uID);if (pDest != NULL).printf( 已找到節(jié)點(diǎn),名字為: %s,pDest->strName); break;case 3:printf( 請輸入要?jiǎng)h除的節(jié)點(diǎn)的 ID: ); scanf(%d,&uID);pHead = deleteNode(pHead, uID); break;case 4:printf( 請輸入要?jiǎng)h除的節(jié)點(diǎn)的 I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《Dreamweaver CS5網(wǎng)頁設(shè)計(jì)與制作實(shí)例教程》課件-第1章 概述
- 2025年全球及中國應(yīng)急響應(yīng)無人機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國用于光學(xué)應(yīng)用的超透鏡行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國單相柵極驅(qū)動(dòng)器IC行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國臺式激光二極管驅(qū)動(dòng)儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球高山輸送機(jī)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國柵網(wǎng)型離子源行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球大麻含量分析儀行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球藥品和食品防偽技術(shù)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球立式高溫反應(yīng)釜行業(yè)調(diào)研及趨勢分析報(bào)告
- 小學(xué)畢業(yè)紀(jì)念冊教學(xué)課件
- 校本課程《生活中的化學(xué)》教案
- 寶典三猿金錢錄
- 個(gè)人房屋買賣購房合同
- 聚合物粘彈性
- 建筑工程施工現(xiàn)場安全資料管理規(guī)程解讀
- 養(yǎng)老護(hù)理員培訓(xùn)老年人日常生活照料
- 各種抽油泵的結(jié)構(gòu)及工作原理幻燈片
- 學(xué)習(xí)弘揚(yáng)雷鋒精神主題班會(huì)PPT雷鋒精神我傳承爭當(dāng)時(shí)代好少年P(guān)PT課件(帶內(nèi)容)
- 社區(qū)獲得性肺炎的護(hù)理查房
- 體育賽事策劃與管理第八章體育賽事的利益相關(guān)者管理課件
評論
0/150
提交評論