




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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) 第(四)次實(shí)驗(yàn) 實(shí)驗(yàn)名稱鏈表的基本操作學(xué)生姓名于歌專 業(yè)班級(jí) 學(xué)號(hào) 實(shí)驗(yàn)成績(jī) 指導(dǎo)老師(署名)日期 年10月 01日一、實(shí)驗(yàn)?zāi)康?.學(xué)會(huì)定義單鏈表的結(jié)點(diǎn)類型,實(shí)現(xiàn)對(duì)單鏈表的一些基本操作和具體 函數(shù)定義,了解并掌握單鏈表的類定義以及成員函數(shù)的定義與調(diào)用。 .掌握單鏈表基本操作及兩個(gè)有序表歸并、單鏈表逆置等操作的實(shí)現(xiàn)。 二、實(shí)驗(yàn)規(guī)定.預(yù)習(xí) C語(yǔ)言中結(jié)構(gòu)體的定義與基本操作方法。 .對(duì)單鏈表的每個(gè)基本操作用單獨(dú)的函數(shù)實(shí)現(xiàn)。 .編寫完整程序完畢下面的實(shí)驗(yàn)內(nèi)容并上機(jī)運(yùn)營(yíng)。 .整理并上交實(shí)驗(yàn)報(bào)告。 三、實(shí)驗(yàn)內(nèi)容: 1.編寫程序完畢單鏈表的下列基本操作: (1)初始化單鏈表 La(2)在La中插入一個(gè)新結(jié)點(diǎn) (3)刪除 La中的某一個(gè)結(jié)點(diǎn)(4)在La中查找某結(jié)點(diǎn)并返回其位置 (5)打印La中的結(jié)點(diǎn)(6)鏈表 (7)鏈表.構(gòu)兩個(gè)有表結(jié)點(diǎn)的有序單鏈表La、Lb,編寫程序?qū)崿F(xiàn) La、Lb并成一個(gè)有序單鏈表Lc。c->next=a,break;if(>data<>data)c->next=a,a=a->next,c=c->next;eIsec->ncxt=b,b=b->next,c=c->next;)c=Lc;q=c->next;whi1e(q!=NULL)(if(c->data==q->data){c->next=q->next}c=c->next;q=c->next)returnLc;}4.LaLb,Lc,LbLa表,LcLaStatusPartList(LinkListLc)(intn1=0,n2=0;LinkListLa,Lb,LinkLista,b;L=Lc;while(L!=NULL){if(L->data%2==0)(if(nl==O)(a=La=L;L=L->nexelse(a->next=L;L=L->next;})else(if(n0)(b=Lb=L;L=L->next;elseb->next=L;L=L->next;)))a->next=NULL;b->next=NUreturn0)1S3JEe牖除!牖除!用1的8出3建Th18翳12表1結(jié)i羹點(diǎn)值量為8出空翳成4駿L鏈結(jié)入瞿n i i2H囊出空i工4.5.中翳6.4NLi蓄7.5.3.n1210O6.L7.清N
結(jié)空的翳^清3.點(diǎn)4.5.
SWK人矗曩結(jié)表4.U入 點(diǎn)七5. 騰 以結(jié)、 出 1 i總6.L空 §w1S
螯 表入N要加:9781234456 675功LK點(diǎn)2要中3.表,Bi§5.6.7.4.H妻8H!入AmO的的1# inc1ude<stdio.h>inc1ude<std1ib.h# defineOK1defineERROR0#dcfineOVERFLOW-2typedefintElemType;typedefintStatus;typedefstructLNode(ElemTypedata;structLNode*next;}LNode,*LinkList;LinkListNewLNode(LNode*P,ElemTypedata)(P(LNode*)malloc(sizeof(LNode));P—>data=data;P->next=NULL;returnP;)LinkListInitList0(inti,value,n;LinkListH=(LinkList)malloc(sizeof(LNoLinkListP=H;P->next=NULL;printf(〃請(qǐng)輸入鏈表的長(zhǎng)度:〃);scanf("%dz,,&n);if(n<=0)printf(〃輸入有誤請(qǐng)重新輸入!\n〃);)whi1e(n<=0);Printf(〃請(qǐng)輸入各個(gè)元素:\n〃);for(i=0;i<n;i++){scanf(z,%d&value);LinkListNEW=(LinkList)malloc(sizeof(LNode));NEW—>data=value;P->next=NEW;NEW->next=NULL;P=NEW;}printf(〃鏈表建立成功!\n〃);returnH->next;)LinkListInsertList(LinkListL,inti,ElemTypeva1ue)(LinkListh,q,t=NewLNode(t,va1ue):intx=0;h=q=L;if(i==1)t->next=h;h=t;}e1se(whi1e(x++<i—2)q=q—>next;t->next=q->next;q->next=t;}printf(〃插入成功!\n”);returnh;)LinkListDeleteList(LinkListL,inti)LinkListh,q,de;intx=0;h二qintt;if(i=l)h=h->next;eIsewhile(x++<i—2)q=q->next;de=q->next;if(de->next==NULc1scq->next=de->next;}printf("刪除成功!\n〃);returnh;)StatusLocateList(LinkListL,ElemTypevalue)(LinkListq=L;inti=0,t;while(q!=NULL)(i++;if(q->data~value)(printf("該結(jié)點(diǎn)在鏈表中的位置為第%d個(gè)\ni);reOK}q=q—>next;)printf(〃該鏈表中沒(méi)有該結(jié)點(diǎn)!\n");returnERROR;)StatusPrint(LinkListL){LinkListq=L;printf("該鏈表的每個(gè)元素為:\n〃);while(q!=NULL)(printf(〃%8d”,q->data);q=q->next;)printf,z\nreturnOK;)LinkListEmptyList(LinkListL)free(L->data;L>next=NULL;printf("清空成功!\n〃);returnL;}LinkListFreeList(LinkListL)(printf(〃釋放成功!\n");free(L);}voidPr()printfC\nl.插入新結(jié)點(diǎn)\n");printf(〃2.刪除鏈表中的結(jié)點(diǎn)\<);printf("3.查找結(jié)點(diǎn)\rT);prf,n〃);prif(〃5n;prinlf(〃6\nnf(〃.\n〃);f)intmain()(LinkListL=InitList()t,i,j;Pr();scanf("%d,whi1e(n>0&&n<7)(switch(n)(case1:rif(scanf,z%dd,&i&j);InsertList(Ljbreak;四、思考與提高:2表內(nèi)不允許有反復(fù)數(shù)據(jù)該如何操作?如何將一個(gè)帶頭La構(gòu)Lb,Lc,使得LbLaLa偶數(shù)?1.編寫程序完畢單鏈表下列基本操作:(1)初始化單鏈表LaLinkListInitList()(inti,value,;LinkListH=(LinkList)malloc(sizeof(LNode));LinkListP=H;P->next=NULL;do{printf鏈表長(zhǎng)度);seanf%d*'&n);if(n<0)print!n);}hie<=);f(f=0;;(scanf(d&vLinkListNEW=(LinkList)malloc(sizeof(LNode));NEW->data=va1ue;P—>next=NEW;case2:inf(snfd",&i);De1eteList(L,i);brcak;case3:f(scnf(%&i);,LocateList(L,i);break;case4:Print(L);break;case5:EmptyList(L);break;case6:FreeList(L);break;)Pr();scanf&n)if(n=7)printf(return0NEW->next=NULLP=NEW;}ntf!ntunH—>net)(2LaLinkListInsertList(LinkListL,inti,ElemTypevalue)(LinkListh,q,t=NewLNode(t,value);intx=0;h二qLif(i==l)t->next=h,h=t;else(whi1e(x++<i-2)q—>nxtt;q>net=t;}t(Hreturnh;(3LaLinkListDeleteList(LinkListL,inti)LinkListh,q,de;intx=0;h=q=L;intt;f=ht;else(while(x++<i-2)q=q->next;de=q->next;if(de—>next==NULL)q-〉next=NULL;elseq->next=de->next;}printf(〃刪除成功!\n〃);returnh;)(4)LaStatusLocateList(LinkListL,ElemTypeva1ue)LinkListq=L;inti=0,t;while(q(i++;if(q->data==value)(prinIf(〃該結(jié)點(diǎn)在鏈表中的位置為第%d\n〃,;returnOK;)q=q->next;}printf("該鏈表中沒(méi)有該結(jié)點(diǎn)!\n〃);returnERROR;)LaStatusPrint(LinkListL)(LinkListq=L;printf(〃該鏈表的每個(gè)元素為:\n");while(q!=NULL){printfz%8d”,q->data;q=q->next;}printf("returnOK;LinkListEmptyList(LinkListLfree(L->data);L->next=NULL;printf(〃清空成功!\n〃);returnL;}LinkListFreeList(LinkListL)(printf("釋放成功!\n〃);free(L);}intmain(){LinkListL=InitList();intn,i,j;Pr();scanf(〃%d〃,&n);whi1e(n>0&&n<7)switch(n)case1:printf(:);scanfdd&jInsertList(L,j,i);break;case2:rif(:)sca(%d&i);DeleteList(L,i);break;case3:rif()scanf%dLocateList(L,i);breacase4:Pr)akcase5:ptyLit)brkcase6:FrListk;scnf(d&);)if(n==7)printf("!);return0;}.LaLb,編寫程La、Lb合并一LcLinkListConnectList(LinkListLa,LinkLis
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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-2030年中國(guó)陶瓷纖維市場(chǎng)競(jìng)爭(zhēng)格局與前景發(fā)展策略分析報(bào)告
- 2025-2030年中國(guó)造紙機(jī)械市場(chǎng)運(yùn)行態(tài)勢(shì)及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)蠔肉行業(yè)發(fā)展?fàn)顩r及營(yíng)銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)礦渣粉產(chǎn)業(yè)十三五規(guī)劃及發(fā)展策略分析報(bào)告
- 2025-2030年中國(guó)電子銅箔市場(chǎng)運(yùn)行狀況及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 江西洪州職業(yè)學(xué)院《經(jīng)濟(jì)學(xué)的思維方式》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽(yáng)職業(yè)技術(shù)學(xué)院《受眾與視聽(tīng)率分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 益陽(yáng)職業(yè)技術(shù)學(xué)院《公共關(guān)系》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆上海市松江區(qū)屆高三上學(xué)期一??荚嚉v史試卷
- 遼寧中醫(yī)藥大學(xué)杏林學(xué)院《軟件測(cè)試技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 工余安健環(huán)管理制度
- 某學(xué)校食堂服務(wù)投標(biāo)書
- 空調(diào)維保服務(wù)項(xiàng)目質(zhì)量保障措施
- 《馬克思主義與社會(huì)科學(xué)方法論》課后思考題答案全
- 急性心肌梗塞
- 八年級(jí)地理下期教學(xué)計(jì)劃(星球地圖版)
- 休閑農(nóng)業(yè)與鄉(xiāng)村旅游(課件)
- 藍(lán)色科技風(fēng)半導(dǎo)體產(chǎn)業(yè)PPT模板
- 院感手衛(wèi)生培訓(xùn)課件
- 鑄牢中華民族共同體意識(shí)學(xué)習(xí)PPT
- 多重耐藥鮑曼不動(dòng)桿菌治療課件
評(píng)論
0/150
提交評(píng)論