下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、鏈表我自我感覺是真的很好的.對于c語言的一些不同類型的數(shù)據(jù)是很方便處理的.它就像一個(gè)容器.容納著多種類型的數(shù)據(jù).至于這個(gè)我就不說什么了.只說說我們今天的主題是鏈表的建立,刪除和添加.至于靜態(tài)鏈表我就不說了.這個(gè)比較簡單.動(dòng)態(tài)的還是有點(diǎn)繞.我也是在網(wǎng)上找了半天找不到什么好的自己想要的效果.就自己寫了一段程序.我把該標(biāo)記的都標(biāo)記了.我相信你看了會(huì)有大的收獲的./*頭文件所需要的庫文件*/#include"iostream"#include"stdlib.h"#include"stdio.h"#include"iomanip&qu
2、ot;#defineLENsizeof(structstudent)usingnamespacestd;voidinput();structstudentintnumber;floatprice;structstudent*next;intn=0;/全局變量定義節(jié)點(diǎn)數(shù)/*創(chuàng)建鏈表總共有三個(gè)結(jié)構(gòu)體指針分別是*head,(頭指針標(biāo)記)*p1(動(dòng)態(tài)產(chǎn)生內(nèi)存空間指針),*p2(當(dāng)前鏈表的指針最后一個(gè)節(jié)點(diǎn))*/structstudent*creat()個(gè)空間個(gè)空間空。的頭到structstudent*head,*p1,*p2;head=NULL;/head返回是void*類型p1=p2=(structs
3、tudent*)malloc(LEN);/p1p2指向同一塊內(nèi)存空間即你申請的那input();/input函數(shù)接受輸入界面cin>>p1->number>>p1->price;/在申請的里邊輸入數(shù)據(jù)while(p1->number!=0)/結(jié)束標(biāo)記符數(shù)字0作為輸入結(jié)束的標(biāo)記n=n+1;/n計(jì)數(shù)器記錄你輸入記錄的個(gè)數(shù)if(n=1)/第一個(gè)節(jié)點(diǎn)head=p1;/如果是第一個(gè)節(jié)點(diǎn)那么就直接將其內(nèi)容寫進(jìn)去elsep2->next=p1;/否則即不是第一個(gè)節(jié)點(diǎn),那么將指針p1賦值p2->nextp2=p1;/p2移動(dòng)到當(dāng)前位置p1=(structs
4、tudent*)malloc(LEN);/重新為p1申請空間cout<<setw(35)<<"輸入編號"<<setw(10)<<"輸入成績"<<endl;cin>>p1->number>>p1->price;/繼續(xù)輸入看是不是輸入結(jié)束標(biāo)記0了p2->next=NULL;/如果輸入結(jié)束可以將本鏈表的指針域即p2所在位置賦值為return(head);/*下邊是打印部分由于上邊創(chuàng)建部分返回的是head結(jié)構(gòu)體指針,他是你生成鏈表所以在打印時(shí)他應(yīng)該作為參數(shù),所以
5、在打印中有一個(gè)指針。他的作用大家也可以猜了吧就是接受你的參數(shù)*/voidshow(structstudent*head)structstudent*p;p=head;/將參數(shù)結(jié)構(gòu)體指針head給另一個(gè)結(jié)構(gòu)體指針pif(head!=NULL)/如果為空head是空指針即不指向任何地方所以此處不能寫成head->next;無意義cout<<setw(50)<<"總共有"<<n<<"條記錄"<<endl;/輸出記錄總共的條數(shù)cout<<setw(50)<<"正在
6、輸出結(jié)果"<<endl;while(p!=NULL)/因?yàn)槿绻麨榭説ead是空指針?biāo)韵雽?yīng)的p也是空指針即不指向任何地方cout<<setw(50)<<"編號為"<<p->number<<"成績"<<p->price<<endl;p=p->next;/順序移動(dòng)指針else/否則和上邊的if對應(yīng)鏈表為空的情況cout<<setw(50)<<"此鏈表為空,沒有輸出的結(jié)果。"<<endl;/*
7、添加指針函數(shù)中參數(shù)是(你建立的head和你新建的stu)*/structstudent*addorder(structstudent*head,structstudent*stu)/*總共有三個(gè)結(jié)構(gòu)體指針指針p1作為頭指針的作用在函數(shù)總作用指針p2作為你生成的添加的指針*/structstudent*p1,*p2;p1=head;p2=stu;if(p1!=NULL)/即添加的鏈表在添加之前不是空指針while(p1->next!=NULL)/開始尋找知道你尋找到他的指針域?yàn)榭誴1=p1->next;/指針p1尋找自己的指針域中存儲(chǔ)地址地方n=n+1;p1->next=p2;
8、/將你產(chǎn)生的節(jié)點(diǎn)指針p2接到p2后邊p2->next=NULL;else/添加之前是空n=n+1;cout<<setw(40)<<"你的原來鏈表為空鏈表"<<endl;head=p2;/把你產(chǎn)生的節(jié)點(diǎn)給了headp2->next=NULL;return(head);/*刪除節(jié)點(diǎn)有兩個(gè)參數(shù)一個(gè)數(shù)指針head另一個(gè)是你要?jiǎng)h除的標(biāo)志num還是有兩個(gè)指針*/structstudent*del(structstudent*head,intnum)structstudent*p1,*p2;/指針p2指向找到的前一個(gè)指針p1=head;if
9、(head!=NULL)/此鏈表不為空while(p1->number!=num&&p1->next!=NULL)/順序查找鏈表結(jié)構(gòu)p2=p1;p1=p1->next;if(p1->number=num)cout<<setw(50)<<"找到刪除結(jié)果刪除的記錄為"<<endl;cout<<setw(50)<<"編號為"<<p1->number<<"成績"<<p1->price<<
10、;endl;n=n-1;if(p1->next=NULL)cout<<setw(50)<<"你要?jiǎng)h除的是的是最后一條記錄"<<endl;p2->next=NULL;cout<<setw(50)<<"編號為"<<p1->number<<"成績"<<p1->price<<endl;elsep2->next=p1->next;else/此處是沒有找到節(jié)點(diǎn)cout<<setw(50)<
11、;<"沒有找到要?jiǎng)h除的節(jié)點(diǎn)。"<<endl;else/此處為鏈表head為空時(shí)cout<<setw(50)<<"你要?jiǎng)h除的鏈表為空不能進(jìn)行刪除操作。"<<endl;return(head);"<<endl;"<<endl;voidinput()cout<<setw(50)<<cout<<setw(50)<<"*輸入你要輸入的記錄。*"<<endl;cout<<setw
12、(50)<<cout<<setw(50)<<H*"<<endl;cout<<endl;cout<<setw(35)<<"輸入編號"<<setw(10)<<"輸入成績"<<endl;intmain()structstudent*head,*p;intnum;head=creat();show(head);cout<<endl;"<<endl;"<<endl;"<<endl;cout<<setw(50)<<"輸入你要?jiǎng)h除的節(jié)點(diǎn)cin>>num;head=del(head,num
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年武漢車都建設(shè)投資有限公司招聘筆試參考題庫含答案解析
- 2025年度電子產(chǎn)品分期購買與售后服務(wù)合同
- 2025年度人事代理與員工薪酬福利調(diào)整服務(wù)協(xié)議3篇
- 2025年高新技術(shù)企業(yè)授權(quán)合同簽訂委托書規(guī)范3篇
- 2025版新能源汽車租賃與智能交通控制系統(tǒng)合作框架協(xié)議3篇
- 2025年全球及中國垂直旋轉(zhuǎn)模塊行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國TGV玻璃芯基材行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025版城市更新項(xiàng)目土地使用權(quán)作價(jià)出資合作協(xié)議3篇
- 二零二五年度成都市二手房交易合同范本 正版官方規(guī)范修訂3篇
- 二零二五年度車隊(duì)運(yùn)輸保險(xiǎn)合作協(xié)議3篇
- 淺談提高中學(xué)生歷史學(xué)習(xí)興趣的策略
- 藥品儲(chǔ)存養(yǎng)護(hù)知識大全
- 新版藥品批發(fā)企業(yè)質(zhì)量管理體系文件大全
- 項(xiàng)目管理實(shí)施規(guī)劃-無錫萬象城
- 浙大一院之江院區(qū)就診指南
- 離婚協(xié)議書電子版下載
- 相似三角形判定專項(xiàng)練習(xí)30題(有答案)
- 2023學(xué)年完整公開課版mydreamjob作文教學(xué)
- 巴基斯坦介紹課件
- 農(nóng)村個(gè)人房屋抵押借款合同
- 中國周邊安全環(huán)境-中國人民大學(xué) 軍事理論課 相關(guān)課件
評論
0/150
提交評論