版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE PAGE 8數(shù)據(jù)結(jié)構(gòu)實驗報告二一、上機(jī)實驗的問題和要求:單鏈表的查找、插入與刪除。設(shè)計算法,實現(xiàn)線性結(jié)構(gòu)上的單鏈表的產(chǎn)生以及元素的查找、插入與刪除。具體實現(xiàn)要求:從鍵盤輸入20個整數(shù),產(chǎn)生帶表頭的單鏈表,并輸入結(jié)點(diǎn)值。從鍵盤輸入1個整數(shù),在單鏈表中查找該結(jié)點(diǎn)。若找到,則顯示“找到了”;否則,則顯示“找不到”。從鍵盤輸入2個整數(shù),一個表示欲插入的位置i,另一個表示欲插入的數(shù)值x,將x插入在對應(yīng)位置上,輸出單鏈表所有結(jié)點(diǎn)值,觀察輸出結(jié)果。從鍵盤輸入1個整數(shù),表示欲刪除結(jié)點(diǎn)的位置,輸出單鏈表所有結(jié)點(diǎn)值,觀察輸出結(jié)果。將單鏈表中值重復(fù)的結(jié)點(diǎn)刪除,使所得的結(jié)果表中個結(jié)點(diǎn)值均不相同,輸出單鏈表所
2、有結(jié)點(diǎn)值,觀察輸出結(jié)果。刪除其中所有數(shù)據(jù)值為偶數(shù)的結(jié)點(diǎn),輸出單鏈表所有結(jié)點(diǎn)值,觀察輸出結(jié)果。把單鏈表變成帶表頭結(jié)點(diǎn)的循環(huán)鏈表,輸出循環(huán)單鏈表所有結(jié)點(diǎn)值,觀察輸出結(jié)果。()將單鏈表分解成兩個單鏈表A和B,使A鏈表中含有原鏈表中序號為奇數(shù)的元素,而B鏈表中含有原鏈表中序號為偶數(shù)的元素,且保持原來的相對順序,分別輸出單鏈表A和單鏈表B的所有結(jié)點(diǎn)值,觀察輸出結(jié)果。二、程序設(shè)計的基本思想,原理和算法描述:(包括程序的結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu),輸入/輸出設(shè)計,符號名說明等)三、源程序及注釋:#include /單鏈表的定義:typedef int DataType; /DataType可以是任何相應(yīng)的數(shù)據(jù)類型如in
3、t, float或chartypedef struct node /結(jié)點(diǎn)類型定義DataType data; /結(jié)點(diǎn)的數(shù)據(jù)域struct node *next; /結(jié)點(diǎn)的指針域ListNode,*LinkList;/typedef ListNode *LinkList;void main()int i;DataType key,x;LinkList head;/ListNode *p;LinkList p;LinkList CreateList(void);void PrintList(LinkList head);LinkList LocateNode(LinkList head,DataT
4、ype key);LinkList GetNode(LinkList head,int i);void InsertList(LinkList head,DataType x,int i);void DeleteList(LinkList head,int i);void DeleteManyList(LinkList head);void DeleteEvenList(LinkList head);void ChangeCircList(LinkList head);void PrintCircList(LinkList head);head=CreateList(); /建立單鏈表Prin
5、tList(head); /打印單鏈表coutkey;p=LocateNode(head,key);/單鏈表查找couti;p=GetNode(head, i);couti;coutx;InsertList(head,x,i);/單鏈表插入PrintList(head); /打印單鏈表couti;DeleteList(head,i); /單鏈表刪除PrintList(head); /打印單鏈表DeleteManyList(head); /刪除重復(fù)值PrintList(head); /打印單鏈表DeleteEvenList(head); /刪除偶數(shù)值PrintList(head); /打印單鏈表
6、ChangeCircList(head); /修改為循環(huán)單鏈表PrintCircList(head); /打印循環(huán)單鏈表/*void DivideList(LinkList head,LinkList *A,LinkList *B); /分割成兩個單鏈表DivideList(head, &A, &B);PrintList(A);PrintList(B);*/單鏈表的建立:LinkList CreateList(void)LinkList head,p,q;head=new ListNode;head-next=NULL;q=head;cout輸入20個整數(shù)(以空格分隔):;for(int i=
7、0;ip-data;q-next=p;q=q-next;q-next=NULL;return head;/在此插入必要的語句/單鏈表的打印:void PrintList(LinkList head)LinkList L=head;coutnext!=NULL)coutnext-datanext;coutnext!=NULL)if(L-next-data=key)coutnext;cout沒找到!n;return L;/在此插入必要的語句 /*單鏈表的查找2:LinkList GetNode(LinkList head,int i) LinkList L=head;for(int j=1;jne
8、xt;if(L-next=NULL)coutn查找失敗!n;return L; if(i=0)coutn查找失敗!n;return L;coutdata;cout找到了!n;return L;/單鏈表的插入:void InsertList(LinkList head,DataType x,int i)LinkList L=head,p;for(int j=1;jnext-next=NULL)if(L-next=NULL)coutn;break;L=L-next; if(i=0)coutn;/L=L-next;p=new ListNode;p-data=x;p-next=L-next;L-nex
9、t=p;/在此插入必要的語句/單鏈表的刪除:void DeleteList(LinkList head,int i)LinkList L=head;for(int j=1;jnext;if(L-next=NULL)coutn刪除失敗!n;return;if(i=0)coutn刪除失敗!n;return;L-next=L-next-next;cout刪除成功!n;/在此插入必要的語句/刪除單鏈表中重復(fù)值:void DeleteManyList(LinkList head)LinkList L=head,p;coutnext!=NULL)p=L-next;while(p-next!=NULL)if
10、(L-next-data=p-next-data)L-next=L-next-next;p=p-next;L=L-next;/在此插入必要的語句/刪除單鏈表中偶數(shù)值:void DeleteEvenList(LinkList head)LinkList L=head;coutnext-data%2=0)if(L-next-next!=NULL)L-next=L-next-next;else L-next=NULL;break;L=L-next;while(L-next!=NULL);/在此插入必要的語句/修改為循環(huán)單鏈表:void ChangeCircList(LinkList head)LinkList L=head;coutnext!=NULL)L=L-next;L-next=head;/在此插入必要的語句/循環(huán)單鏈表的打印:void PrintCir
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5《大學(xué)之道》說課稿 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修上冊
- 福建省南平市吳屯中學(xué)2021-2022學(xué)年高一化學(xué)月考試卷含解析
- 個人續(xù)簽合同:2024年合作合同書意向確認(rèn)版B版
- 2024棄土場租賃合同環(huán)保驗收標(biāo)準(zhǔn)范本3篇
- 2023-2024學(xué)年人教版高中信息技術(shù)必修一第二章第三節(jié)《程序設(shè)計基本知識》說課稿
- 科學(xué)復(fù)習(xí)贏在期末
- 鏡頭下的旅行故事
- 培訓(xùn)服務(wù)合同(2篇)
- 《自救器的使用與創(chuàng)傷急救》培訓(xùn)課件2025
- 2024淘寶代運(yùn)營服務(wù)合作協(xié)議及年度店鋪運(yùn)營策略優(yōu)化協(xié)議3篇
- 第十七屆山東省職業(yè)院校技能大賽市場營銷賽項賽卷第一套
- 塔吊司機(jī)和指揮培訓(xùn)
- 紅色簡約2025蛇年介紹
- 專題3-6 雙曲線的離心率與常用二級結(jié)論【12類題型】(解析版)-A4
- 光伏電站運(yùn)維課件
- 糧庫工程合同范本
- 江蘇省蘇州市2023-2024學(xué)年高一上學(xué)期期末學(xué)業(yè)質(zhì)量陽光指標(biāo)調(diào)研試題+物理 含解析
- 農(nóng)業(yè)合作社線上線下營銷方案
- 研發(fā)實驗室安全培訓(xùn)
- 電信公司網(wǎng)絡(luò)安全管理制度
- 安全生產(chǎn)標(biāo)準(zhǔn)化知識培訓(xùn)考核試卷
評論
0/150
提交評論