![單鏈表的插入和刪除實驗報告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/d31f304d-c77a-43e0-9ab1-bbaad2fc6b97/d31f304d-c77a-43e0-9ab1-bbaad2fc6b971.gif)
![單鏈表的插入和刪除實驗報告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/d31f304d-c77a-43e0-9ab1-bbaad2fc6b97/d31f304d-c77a-43e0-9ab1-bbaad2fc6b972.gif)
![單鏈表的插入和刪除實驗報告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/d31f304d-c77a-43e0-9ab1-bbaad2fc6b97/d31f304d-c77a-43e0-9ab1-bbaad2fc6b973.gif)
![單鏈表的插入和刪除實驗報告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/d31f304d-c77a-43e0-9ab1-bbaad2fc6b97/d31f304d-c77a-43e0-9ab1-bbaad2fc6b974.gif)
![單鏈表的插入和刪除實驗報告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/d31f304d-c77a-43e0-9ab1-bbaad2fc6b97/d31f304d-c77a-43e0-9ab1-bbaad2fc6b975.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗一、單鏈表的插入和刪除 一、目的 了解和掌握線性表的邏輯結構和鏈式存儲結構,掌握單鏈表的基 本算法及相關的時間性能分析。 |,、- 二、要求: 建立一個數(shù)據(jù)域定義為字符串的單鏈表,在鏈表中不允許有重復 的字符串;根據(jù)輸入的字符串,先找到相應的結點,后刪除之。 三、程序源代碼 #in cludestdio.h #i ncludestri ng.h #i ncludestdlib.h #i ncludectype.h typedef struct node char data10; struct node *n ext; ListNode; typedef ListNode * Lin kLi
2、st; / Lin kList CreatListR1(); / / / 自定義 / 定義結點 結點的數(shù)據(jù)域為字符串 結點的指針域 Lin kList 單鏈表類型 函數(shù),用尾插入法建立 帶頭結點的單鏈表 ListNode *LocateNode();/ 函數(shù),按值查找結點 char ch10,num10; LinkList head; head=CreatListR1(); / printlist(head); / printf( Delete node (y/n):);/ DeleteAll(head); / 刪除所有結點,釋放內存 void DeleteList(); / 函數(shù),刪除指定值
3、的結點 void printlist(); / 函數(shù),打印鏈表中的所有值 void DeleteAll(); / 函數(shù),刪除所有結點, 釋放內存 /=主函數(shù) = void main() 用尾插入法建立單鏈表,返回頭指針 遍歷鏈表輸出其值 輸入“ y ”或“n”去選擇是否 刪除結點 scanf(%s,num); if(strcmp(num,y)=0 | strcmp(num,Y)=0) printf(Please input Delete_data:); scanf(%s,ch);/ 輸入要刪除的字符串 DeleteList(head,ch); printlist(head); / 用尾插入法建
4、立帶頭結點的單鏈表 LinkList CreatListR1(void) char ch10; LinkList head=(LinkList)malloc(sizeof(ListNode); / 生成頭結 點 八、 ListNode *s,*r,*pp; r=head; r-next=NULL; printf(Input # to end ); /輸入“ #”代表輸入結束 printf(Please input Node_data:); scanf(%s,ch); / 輸入各結點的字符串 while(strcmp(ch,#)!=0) pp=LocateNode(head,ch); / 按值查
5、找結點,返回結點指針 if(pp=NULL) /沒有重復的字符串,插入到鏈表中 s=(ListNode *)malloc(sizeof(ListNode); strcpy(s-data,ch); r-next=s; r=s; r-next=NULL; printf(Input # to end ); printf(Please input Node_data:); scanf(%s,ch); return head; / 返回頭指針 /=按值查找結點,找到則返回該結點的位置,否則返回 NULL= ListNode *LocateNode(LinkList head, char *key) Li
6、stNode *p=head-next; / 從開始結點比較 while(p / 掃描下一個結點 return p; /若p=NULL則查找失敗,否則 p指向找到的值 key 的結點 /=刪除帶頭結點的單鏈表中的指定結點 = void DeleteList(LinkList head,char *key) ListNode *p,*r,*q=head; p=LocateNode(head,key); / 按 key 值查找結點的 printf(position error); exit(0); while(q-next!=p) /p 為要刪除的結點, q 為 p 的前結點 q=q-next; r=q-next; q-next=r-next; free(r); /釋放結點 /= 打印鏈表 = void printlist(LinkList head) ListNode *p=head-next; / 從開始結點打印 while(p) printf(%s,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境藝術設計與可持續(xù)發(fā)展的協(xié)同實踐
- 匯報溝通職場中的軟實力
- 未來商業(yè)發(fā)展趨勢與市場分析
- 生產線工藝改進的思路與實踐案例
- 吊裝工程專項方案
- “比賽場次”(說課稿)-2024-2025學年六年級數(shù)學上冊北師大版
- 《7 栽小蔥》(說課稿)三年級下冊科學蘇教版
- Module 1 Unit 2 I'm Danny(說課稿)-2024-2025學年牛津上海版(試用本)英語二年級上冊
- Unit3 What would you like?(說課稿)-2024-2025學年人教PEP版英語五年級上冊001
- 16 宇宙的另一邊 說課稿-2023-2024學年語文三年級下冊統(tǒng)編版
- 五年級上冊小數(shù)遞等式計算200道及答案
- 世界老年人跌倒的預防和管理指南解讀及跌倒應急處理-
- GB/T 7251.2-2023低壓成套開關設備和控制設備第2部分:成套電力開關和控制設備
- 四川省地圖模板含市縣圖課件
- 帶拼音生字本模板(可A4打印)
- 小學語文必備文學常識???00題匯總(含答案)
- 英語人教版高中必修三(2019新編)第一單元教案
- 超高大截面框架柱成型質量控制
- GB 9706.1-2020醫(yī)用電氣設備第1部分:基本安全和基本性能的通用要求
- 森林法講解課件
- 口腔頜面外科:第十六章-功能性外科與計算機輔助外科課件
評論
0/150
提交評論