版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一 單鏈表操作驗(yàn)證一、實(shí)驗(yàn)?zāi)康?理解數(shù)據(jù)結(jié)構(gòu)中帶頭結(jié)點(diǎn)單鏈表的定義和邏輯圖表示方法。2掌握單鏈表中結(jié)點(diǎn)結(jié)構(gòu)的C+描述。3熟練掌握單鏈表的插入、刪除和查詢(xún)算法的設(shè)計(jì)與C+實(shí)現(xiàn)。4熟練掌握簡(jiǎn)單的演示菜單與人機(jī)交互設(shè)計(jì)方法。二、實(shí)驗(yàn)內(nèi)容1 編制一個(gè)演示單鏈表插入、刪除、查找等操作的程序。三、實(shí)驗(yàn)步驟1需求分析本演示程序用VC+編寫(xiě),完成單鏈表的生成,任意位置的插入、刪除,以及確定某一元素在單鏈表中的位置。 輸入的形式和輸入值的范圍:插入元素時(shí)需要輸入插入的位置和元素的值;刪除元素時(shí)輸入刪除元素的位置;查找操作時(shí)需要輸入元素的值。在所有輸入中,元素的值都是整數(shù)。 輸出的形式:在所有三種操作中都顯示
2、操作是否正確以及操作后單鏈表的內(nèi)容。其中刪除操作后顯示刪除的元素的值,查找操作后顯示要查找元素的位置。 程序所能達(dá)到的功能:完成單鏈表的生成(通過(guò)插入操作)、插入、刪除、查找操作。 測(cè)試數(shù)據(jù):A 建立操作中依次輸入1,2,3,4,5,生成一個(gè)單鏈表B插入操作中依次輸入6,插入單鏈表C查找操作中依次輸入2,返回這,1個(gè)元素在單鏈表中的位 D. 刪除操作中依次輸入1,刪除位于1的元素 2概要設(shè)計(jì)1)基本操作:struct stu *creat()操作結(jié)果:構(gòu)造一單鏈表Struct stu *ins(struct stu *head)初始條件:?jiǎn)捂湵硪汛嬖诓僮鹘Y(jié)果:插入元素Struct stu *d
3、el(struct stu *head)初始條件:?jiǎn)捂湵硪汛嬖诓僮鹘Y(jié)果:刪除元素Void find(struct stu *head)初始條件:?jiǎn)捂湵鞮已存在操作結(jié)果:查找元素Void output(struct stu *head) 初始條件:?jiǎn)捂湵鞮已存在操作結(jié)果:輸出元素 Void main() 主函數(shù)2)本程序包含6個(gè)函數(shù): 主函數(shù)main()顯示單鏈表內(nèi)容函數(shù) output()建立元素函數(shù) creat()插入元素函數(shù)ins()刪除元素函數(shù)del()查找元素函數(shù)find()主函數(shù)控制五個(gè)函數(shù): outputcreatinsdelfindmain 3詳細(xì)設(shè)計(jì)實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有的數(shù)據(jù)
4、類(lèi)型,對(duì)每個(gè)操作給出偽碼算法。對(duì)主程序和其他模塊也都需要寫(xiě)出偽碼算法。1) 結(jié)點(diǎn)類(lèi)型和指針類(lèi)型 struct stu int num; char name20 float Chinese,maths,English;struct stu *next;2) 單鏈表的基本操作Void output(struct stu *head)(偽碼算法)Struct stu *creat()(偽碼算法)Struct stu *ins(struct stu *head)(偽碼算法)Struct stu *del(struct stu *head)(偽碼算法)Void find(struct stu *head
5、)(偽碼算法)Void main()(偽碼算法) 4程序源碼 #include#include#include#define NULL 0#define LEN sizeof(struct stu)struct stuint num;char name20; float Chinese,maths,English; struct stu *next;int n;void output(struct stu *head)struct stu *p; p=head;printf(學(xué)號(hào)t姓名t語(yǔ)文t數(shù)學(xué)t英語(yǔ)tn); for(p=head;p!=NULL;p=p-next) printf(%dt%s
6、t%.1ft%.1ft%.1fn,p-num,p-name,p-Chinese,p-maths,p-English);struct stu *creat() struct stu *head;struct stu *p1,*p2; n=0; printf(學(xué)號(hào),姓名,語(yǔ)文,數(shù)學(xué),英語(yǔ):n); printf(輸入 0 0 0 0 0 停止!n); p1=p2=(struct stu*)malloc(LEN); scanf(%d%s%f%f%f,&p1-num,p1-name,&p1-Chinese,&p1-maths,&p1-English); head=NULL;while(p1-num!=0
7、)n=n+1;if(n=1)head=p1;else p2-next=p1;p2=p1; p1=(struct stu*)malloc(LEN); scanf(%d%s%f%f%f,&p1-num,p1-name,&p1-Chinese,&p1-maths,&p1-English);p2-next=NULL; return(head);struct stu *ins(struct stu *head)struct stu *p0,*p1,*p2; printf(請(qǐng)輸入插入的學(xué)生信息:n); p1=head; p0=creat();if(head=NULL)head=p0;p0-next=NUL
8、L;elsewhile(p0-nump1-num)&(p1-next!=NULL)p2=p1; p1=p1-next;if(p0-numnum)if(head=p1) head=p0;else p2-next=p0;p0-next=p1;elsep1-next=p0;p0-next=NULL;n=n+1; return(head);struct stu *del(struct stu *head)struct stu *p1,*p2; int num;if(head=NULL)printf(n鏈表為空!n);elsep1=head; printf(請(qǐng)輸入所需刪除號(hào)碼:n); scanf(%d,
9、&num); while(num!=p1-num&p1-next!=NULL)p2=p1;p1=p1-next;if(num=p1-num)if(p1=head) head=p1-next; elsep2-next=p1-next; printf(刪除:%dn,num); n=n-1;elseprintf(對(duì)不起,%d不在鏈表中! n,num);return(head);void find(struct stu *head)struct stu *p1; int num; printf(請(qǐng)輸入所需查找號(hào)碼:n); scanf(%d,&num);if(head=NULL)printf(n鏈表為空
10、!n);elsep1=head; while(num!=p1-num&p1-next!=NULL)p1=p1-next;if(num=p1-num)printf(學(xué)號(hào):%d 姓名:%s 語(yǔ)文:%.1f 數(shù)學(xué):%.1f 英語(yǔ):%.1fn,p1-num,p1-name,p1-Chinese,p1-maths,p1-English);elseprintf(對(duì)不起,%d不在鏈表中!n,num);void main()struct stu *head; int select; while(1) printf(1.建立 2.插入 3.刪除 4.查找 5.輸出 6.退出 n); printf(請(qǐng)輸入操作序號(hào)
11、:n); scanf(%d,&select); switch(select) case 1: head=creat();break; case 2: head=ins(head);break; case 3: head=del(head);break; case 4: find(head);break; case 5: output(head);break; case 6: exit(0); 5調(diào)試分析在往電腦中輸入程序時(shí),由于馬虎,有的落了標(biāo)點(diǎn)符號(hào),有的落了或?qū)戝e(cuò)了字母,有的語(yǔ)句也出現(xiàn)了錯(cuò)誤,終于將它們一一修正過(guò)來(lái)。6使用說(shuō)明程序名為L(zhǎng)inkList.exe,運(yùn)行環(huán)境為Visual C+。程序執(zhí)行后顯示1.建立 2.插入 3.刪除 4.查找 5.輸出 6.退出請(qǐng)輸入操作序號(hào): 然后輸入數(shù)字選擇執(zhí)行不同的功能。要求首先輸入足夠多的插入元素,才可以進(jìn)行其他的操作。每執(zhí)行一次功能,就會(huì)顯示執(zhí)行的結(jié)果(正確或錯(cuò)誤)以及執(zhí)行后單鏈表的內(nèi)容。選擇1:顯示“學(xué)號(hào),姓名,語(yǔ)文,數(shù)學(xué),英語(yǔ):輸入 0 0 0 0 0 停止!”要求輸入足夠多的元素。選擇2:顯示“請(qǐng)輸入插入的學(xué)生信息: ”要求輸入要插入的位置和元素
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 搪瓷杯在茶文化中的使用與推廣考核試卷
- 《T2DM患者自我效能、自我管理行為與生存質(zhì)量的相關(guān)性研究》
- 災(zāi)區(qū)臨時(shí)住宅建筑設(shè)計(jì)考核試卷
- 2024-2030年中國(guó)民營(yíng)銀行市場(chǎng)發(fā)展模式投資戰(zhàn)略建議報(bào)告
- 《PL3基因編輯水稻編輯位點(diǎn)檢測(cè)方法的研究》
- 《深圳市中考學(xué)生游泳培訓(xùn)市場(chǎng)供需影響因素研究》
- 《基于安全生產(chǎn)的韭菜集約化育苗關(guān)鍵技術(shù)研究》
- 2024-2030年中國(guó)核電工程建設(shè)行業(yè)十三五規(guī)劃及發(fā)展戰(zhàn)略研究報(bào)告權(quán)威版
- 2024-2030年中國(guó)檸檬種植行業(yè)市場(chǎng)深度分析及競(jìng)爭(zhēng)格局與投資研究報(bào)告
- 2024-2030年中國(guó)有機(jī)果品行業(yè)營(yíng)銷(xiāo)模式及投資競(jìng)爭(zhēng)力分析報(bào)告
- 2023年阜陽(yáng)職業(yè)技術(shù)學(xué)院人才招聘筆試真題
- 第三單元名著導(dǎo)讀《駱駝祥子》整本書(shū)閱讀教學(xué)設(shè)計(jì)+2023-2024學(xué)年統(tǒng)編版語(yǔ)文七年級(jí)下冊(cè)
- 2024年中級(jí)電工考前必刷必練題庫(kù)500題(含真題、必會(huì)題)
- 《第二單元測(cè)試卷》(單元練習(xí))-2024-2025學(xué)年六年級(jí)上冊(cè)數(shù)學(xué)北師大版
- 2024年員工向公司借款合同標(biāo)準(zhǔn)版本(六篇)
- 部編語(yǔ)文五上《父愛(ài)之舟》說(shuō)課:聚焦場(chǎng)景抓細(xì)節(jié)-探究真心品真情
- 《PLC應(yīng)用技術(shù)(西門(mén)子S7-1200)第二版》全套教學(xué)課件
- 泰康保險(xiǎn)在線測(cè)評(píng)真題
- 小學(xué)語(yǔ)文閱讀校本課程設(shè)計(jì)方案
- DB3301-T 1139-2024 地理標(biāo)志產(chǎn)品 千島湖鰱鳙
- 勞動(dòng)一年級(jí)上冊(cè)(人民版)第十課《我?guī)桶謰寭駬癫恕罚ń虒W(xué)設(shè)計(jì))
評(píng)論
0/150
提交評(píng)論