![山東大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告三_第1頁](http://file4.renrendoc.com/view/a75fe548a4dee1864754acedc3962d71/a75fe548a4dee1864754acedc3962d711.gif)
![山東大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告三_第2頁](http://file4.renrendoc.com/view/a75fe548a4dee1864754acedc3962d71/a75fe548a4dee1864754acedc3962d712.gif)
![山東大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告三_第3頁](http://file4.renrendoc.com/view/a75fe548a4dee1864754acedc3962d71/a75fe548a4dee1864754acedc3962d713.gif)
![山東大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告三_第4頁](http://file4.renrendoc.com/view/a75fe548a4dee1864754acedc3962d71/a75fe548a4dee1864754acedc3962d714.gif)
![山東大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告三_第5頁](http://file4.renrendoc.com/view/a75fe548a4dee1864754acedc3962d71/a75fe548a4dee1864754acedc3962d715.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告——實(shí)驗(yàn)三
實(shí)驗(yàn)題目:排序算法學(xué)號(hào):日期:2014.11.26班級(jí):物聯(lián)網(wǎng)工程姓名:Email:實(shí)驗(yàn)?zāi)康模壕€性表操作任務(wù)要求:
1掌握線性表的基本操作。2、使用鏈表存儲(chǔ)。3、自表首插入元素,刪除一個(gè)指定元素,查找指定元素。軟件環(huán)境:Win7操作系統(tǒng)開發(fā)工具:visualC++6.0實(shí)驗(yàn)步驟:#include<iostream>#include<conio.h>#defineLENsizeof(LNode)//定義LEN為一個(gè)節(jié)點(diǎn)的長(zhǎng)度usingnamespacestd;enumBOOL{False,True};//定義BOOL型typedefstructnode{intdata;//數(shù)據(jù)域structnode*next;//指向下一個(gè)節(jié)點(diǎn)的指針}LNode,*LinkList;voidCreatList(LinkList&,int);//生成一個(gè)單鏈表BOOLListInsert(LinkList&,int,int);//在單鏈表首中插入一個(gè)元素BOOLListDelete(LinkList&,int,int&);//在單鏈表中刪除一個(gè)元素BOOLListFind_keyword(LinkList,int,int&);//按關(guān)鍵字查找一個(gè)元素BOOLListFind_order(LinkList,int&,int);//按序號(hào)查找一個(gè)元素voidListPrint(LinkList);//顯示單鏈表所有元素voidmain(){LinkListL;BOOLtemp;intnum,loc,ch,j,flag=1;//---------------------程序解說-----------------------cout<<"本程序?qū)崿F(xiàn)鏈?zhǔn)浇Y(jié)構(gòu)的線性表的操作。"<<endl;cout<<"可以進(jìn)行插入,刪除,定位,查找等操作。"<<endl;//----------------------------------------------------cout<<"請(qǐng)輸入初始時(shí)鏈表長(zhǎng)度:"<<endl;//輸入生成單鏈表時(shí)的元素個(gè)數(shù)cin>>num;cout<<endl;CreatList(L,num);//生成單鏈表ListPrint(L);while(flag){cout<<"請(qǐng)選擇:"<<endl;cout<<"1.顯示所有元素:"<<endl;//顯示鏈表元素cout<<"2.表首插入一個(gè)元素:"<<endl;//表首插入鏈表元素cout<<"3.按序號(hào)刪除一個(gè)元素:"<<endl;//按序號(hào)刪除鏈表元素cout<<"4.按關(guān)鍵字查找元素:"<<endl;//按關(guān)鍵字查找cout<<"5.按序號(hào)查找元素:"<<endl;//按序號(hào)查找cout<<"6.按關(guān)鍵字刪除元素:"<<endl;//按關(guān)鍵字刪除cout<<"7.程序退出"<<endl;cin>>j;cout<<endl;switch(j){case1:ListPrint(L);break;case2:{cout<<"請(qǐng)輸入元素:"<<endl;cin>>ch;//輸入要插入的元素 intloc=1; temp=ListInsert(L,loc,ch);//插入if(temp==False)cout<<"插入失敗!"<<endl;//插入失敗 elsecout<<"插入成功!"<<endl;//成功插入 ListPrint(L); break; }case3:cout<<"請(qǐng)輸入要?jiǎng)h除的元素所在位置:"<<endl;cin>>loc;//輸入要?jiǎng)h除的節(jié)點(diǎn)的位置 cout<<endl; temp=ListDelete(L,loc,ch);//刪除loc=1; if(temp==False)cout<<"刪除失敗!"<<endl;//刪除失敗elsecout<<"成功刪除了一個(gè)元素:"<<ch<<endl;//刪除成功,顯示該元素 ListPrint(L); break;case4:if(L->next==NULL)//鏈表為空 cout<<"鏈表為空!"<<endl;else{cout<<"請(qǐng)輸入要查找的元素:"<<endl;cin>>ch;cout<<endl;//輸入要查找的元素 temp=ListFind_keyword(L,ch,loc);//按關(guān)鍵字查找if(temp==False)cout<<"沒有找到該元素!"<<endl;//查找失敗 elsecout<<"該元素在鏈表的第"<<loc<<"個(gè)位置。"<<endl;//成功查找,顯示該元素位置 } break;case5:if(L->next==NULL)//鏈表為空 cout<<"鏈表為空!"<<endl;else{cout<<"請(qǐng)輸入要查找的位置:"<<endl;cin>>loc;//輸入要查找的元素的位置 temp=ListFind_order(L,ch,loc);//按序號(hào)查找if(temp==False)cout<<"該位置不存在!"<<endl;//查找失敗 elsecout<<"第"<<loc<<"個(gè)元素是"<<ch<<endl;//成功查找,顯示該元素 } break; case6:if(L->next==NULL)//鏈表為空 cout<<"鏈表為空!"<<endl;else{cout<<"請(qǐng)輸入要?jiǎng)h除的元素:"<<endl;cin>>ch;cout<<endl;//輸入要查找的元素 temp=ListFind_keyword(L,ch,loc);//按關(guān)鍵字查找if(temp==False)cout<<"沒有找到該元素!"<<endl;//查找失敗 elsecout<<"該元素在鏈表的第"<<loc<<"個(gè)位置。"<<endl;//成功查找,顯示該元素位置inttemp=ListDelete(L,loc,ch);cout<<"成功刪除了一個(gè)元素:"<<ch<<endl;//刪除成功,顯示該元素 ListPrint(L); } break; default:flag=0;cout<<"程序結(jié)束,按任意鍵退出!"<<endl;}}getchar();}voidCreatList(LinkList&v,intn){//生成一個(gè)帶頭結(jié)點(diǎn)的有n個(gè)元素的單鏈表 inti;LinkListp;v=(LinkList)malloc(LEN);//生成頭結(jié)點(diǎn)v->next=NULL;cout<<"putin"<<n<<"numbers"<<endl;for(i=n;i>0;--i){p=(LinkList)malloc(LEN);//生成新結(jié)點(diǎn)cin>>p->data;p->next=v->next;v->next=p;}}BOOLListInsert(LinkList&v,inti,inte){//在單鏈表的第i各位置插入元素e,成功返回True,失敗返回False LinkListp,s; intj=0; p=v;while(p&&j<i-1){p=p->next;++j;}//查找第i-1個(gè)元素的位置if(!p||j>i-1)returnFalse;//沒有找到s=(LinkList)malloc(LEN);//生成一個(gè)新結(jié)點(diǎn)s->data=e;s->next=p->next;//將新結(jié)點(diǎn)插入到單鏈表中p->next=s;returnTrue;}BOOLListDelete(LinkList&v,inti,int&e){//在單鏈表中刪除第i個(gè)元素,成功刪除返回True,并用e返回該元素值,失敗返回False LinkListp,q; intj=0; p=v;while(p->next&&j<i-1)//查找第i-1個(gè)元素位置{p=p->next;++j;}if(!(p->next)||j>i-1)returnFalse;//查找失敗q=p->next;p->next=q->next;//刪除該元素e=q->data;//e取得該元素值free(q);//釋放該元素空間returnTrue;}BOOLListFind_keyword(LinkListv,inte,int&i){//在單鏈表中查找關(guān)鍵字為e的元素,成功返回True,并用i返回該元素位置,//失敗返回Falsei=1;LinkListp;p=v->next;while((p->data!=e)&&(p->next!=NULL))//p指針指向下一個(gè),直到{p=p->next;i++;}//找到或到鏈表尾為止if(p->data!=e)//該元素在鏈表中不存在 returnFalse;elsereturnTrue;}BOOLListFind_order(LinkListv,int&e,inti){//在單鏈表中查找第i個(gè)元素,成功返回True,并用e返回該元素值,//失敗返回False LinkListp; intj=0; p=v;while(p->next&&j<i)//移動(dòng)指針,直到找到第i個(gè)元素{p=p->next;++j;}if(j!=i)return
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年手持式鑿巖機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年厚茄克項(xiàng)目可行性研究報(bào)告
- 2025年X射線防輻射工作服項(xiàng)目可行性研究報(bào)告
- 2025至2030年桌上型切參機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年托盤箱角件項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年大功率涂漆線繞電阻器項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年壓紗片項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年全球及中國前裝車載無線充電行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國設(shè)備編程服務(wù)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球懸浮液等離子噴涂(SPS)服務(wù)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 《加拿大概況》課件
- 期末復(fù)習(xí)之一般疑問句、否定句、特殊疑問句練習(xí)(畫線部分提問)(無答案)人教版(2024)七年級(jí)英語上冊(cè)
- TD-T 1048-2016耕作層土壤剝離利用技術(shù)規(guī)范
- 抖音賬號(hào)租賃合同協(xié)議
- 2024年高考真題-化學(xué)(重慶卷) 含解析
- 胞嘧啶化學(xué)合成
- 職業(yè)衛(wèi)生培訓(xùn)課件
- 柴油墊資合同模板
- GB/T 44489-2024高級(jí)輔助駕駛地圖審查要求
- 2024-2030年中國樺樹汁行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 全冊(cè)(教案)外研版(一起)英語四年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論