版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、PAGE PAGE 8數(shù)據(jù)結(jié)構(gòu)實驗報告二一、上機實驗的問題和要求:單鏈表的查找、插入與刪除。設(shè)計算法,實現(xiàn)線性結(jié)構(gòu)上的單鏈表的產(chǎn)生以及元素的查找、插入與刪除。具體實現(xiàn)要求:從鍵盤輸入20個整數(shù),產(chǎn)生帶表頭的單鏈表,并輸入結(jié)點值。從鍵盤輸入1個整數(shù),在單鏈表中查找該結(jié)點。若找到,則顯示“找到了”;否則,則顯示“找不到”。從鍵盤輸入2個整數(shù),一個表示欲插入的位置i,另一個表示欲插入的數(shù)值x,將x插入在對應位置上,輸出單鏈表所有結(jié)點值,觀察輸出結(jié)果。從鍵盤輸入1個整數(shù),表示欲刪除結(jié)點的位置,輸出單鏈表所有結(jié)點值,觀察輸出結(jié)果。將單鏈表中值重復的結(jié)點刪除,使所得的結(jié)果表中個結(jié)點值均不相同,輸出單鏈表所
2、有結(jié)點值,觀察輸出結(jié)果。刪除其中所有數(shù)據(jù)值為偶數(shù)的結(jié)點,輸出單鏈表所有結(jié)點值,觀察輸出結(jié)果。把單鏈表變成帶表頭結(jié)點的循環(huán)鏈表,輸出循環(huán)單鏈表所有結(jié)點值,觀察輸出結(jié)果。()將單鏈表分解成兩個單鏈表A和B,使A鏈表中含有原鏈表中序號為奇數(shù)的元素,而B鏈表中含有原鏈表中序號為偶數(shù)的元素,且保持原來的相對順序,分別輸出單鏈表A和單鏈表B的所有結(jié)點值,觀察輸出結(jié)果。二、程序設(shè)計的基本思想,原理和算法描述:(包括程序的結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu),輸入/輸出設(shè)計,符號名說明等)三、源程序及注釋:#include /單鏈表的定義:typedef int DataType; /DataType可以是任何相應的數(shù)據(jù)類型如in
3、t, float或chartypedef struct node /結(jié)點類型定義DataType data; /結(jié)點的數(shù)據(jù)域struct node *next; /結(jié)點的指針域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); /刪除重復值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;/在此插入必要的語句/刪除單鏈表中重復值: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)單鏈表的打?。簐oid PrintCir
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廠房裝修工程設(shè)計與施工監(jiān)理合同4篇
- 2025年度廠房租賃安全協(xié)議書(智能管理系統(tǒng)適用)4篇
- 2024版貨品物流服務協(xié)議
- 2025年度新型建材2024grc線條裝飾線條供應協(xié)議3篇
- 工程建設(shè)國家標準《大體積混凝土溫度測控技術(shù)規(guī)范》條文說明
- 2025年度人工智能教育平臺開發(fā)與應用合同9篇
- 專屬2024財務代表協(xié)議條款版B版
- 個人房產(chǎn)抵押借款協(xié)議標準格式版
- 2024虛擬現(xiàn)實產(chǎn)品開發(fā)與銷售合同
- 2024版單身公寓租賃合同附圖書閱覽室使用協(xié)議3篇
- 保潔服務崗位檢查考核評分標準
- 稱量與天平培訓試題及答案
- 超全的超濾與納濾概述、基本理論和應用
- 2020年醫(yī)師定期考核試題與答案(公衛(wèi)專業(yè))
- 2022年中國育齡女性生殖健康研究報告
- 各種靜脈置管固定方法
- 消防報審驗收程序及表格
- 教育金規(guī)劃ppt課件
- 呼吸機波形分析及臨床應用
- 常用緊固件選用指南
- 私人借款協(xié)議書新編整理版示范文本
評論
0/150
提交評論