版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鏈表線性表實(shí)驗(yàn)一線性表線性表是最簡(jiǎn)單、最常用的基本數(shù)據(jù)結(jié)構(gòu),在實(shí)際問(wèn)題中有著廣泛的應(yīng)用。通過(guò)本次的驗(yàn)證實(shí)驗(yàn),鞏固對(duì)線性表邏輯結(jié)構(gòu)的理解,掌握線性表的存儲(chǔ)結(jié)構(gòu)及基本操作的實(shí)現(xiàn),為應(yīng)用線性表解決實(shí)際問(wèn)題奠定良好的基礎(chǔ)。通過(guò)本章的設(shè)計(jì)實(shí)驗(yàn)和綜合實(shí)驗(yàn),進(jìn)一步培養(yǎng)以線性表作為數(shù)據(jù)結(jié)構(gòu)解決實(shí)際問(wèn)題的應(yīng)用能力。單鏈表操作驗(yàn)證1.實(shí)驗(yàn)?zāi)康蘑耪莆站€性表的鏈接存儲(chǔ)結(jié)構(gòu);⑵驗(yàn)證單鏈表及其基本操作的實(shí)現(xiàn);⑶進(jìn)一步掌握數(shù)據(jù)結(jié)構(gòu)及算法的程序?qū)崿F(xiàn)的基本方法。2.實(shí)驗(yàn)內(nèi)容用C語(yǔ)言或其它高級(jí)程序設(shè)計(jì)語(yǔ)言驗(yàn)證以下基本操作:⑴用頭插法(或尾插法)建立帶頭結(jié)點(diǎn)的單鏈表;⑵對(duì)已建立的單鏈表實(shí)現(xiàn)插入、刪除等基本操作。3.實(shí)現(xiàn)提示首先,將單鏈表中的結(jié)點(diǎn)定義為如下結(jié)構(gòu)類型:#include<stdio.h>#include<stdlib.h>#defineOK1#defineERROR0#defineOVERFLOW-1#defineTRUE1#defineFALSE0typedefintStatus;typedefintElemType;typedefstructLNode{ ElemTypedata; structLNode*next;}LNode,*LinkList;用頭插法(或尾插法)建立單鏈表。算法參考課本。最后,對(duì)所建立的單鏈表設(shè)計(jì)實(shí)現(xiàn)插入、刪除、查找、輸出等基本操作的算法。在上述代碼基礎(chǔ)上,實(shí)現(xiàn)一元多項(xiàng)式的相加。選做:在上述代碼基礎(chǔ)上,實(shí)現(xiàn)一元多項(xiàng)式的相乘。4、實(shí)驗(yàn)過(guò)程中碰到的問(wèn)題及解決方法鏈表輸出的問(wèn)題 剛開始輸出鏈表的過(guò)程中出現(xiàn)了亂碼;對(duì)于鏈表的建立,和指針的使用沒(méi)有深入理解;慢慢的在了解原理后,才成功。一元多項(xiàng)式相加中的問(wèn)題 判斷多項(xiàng)式終止條件,剛開始使用輸入系數(shù)為零作為終止條件,導(dǎo)致在La鏈表錄完后接Lb的過(guò)程中出現(xiàn)了亂碼,原因是在La結(jié)束時(shí)最后一項(xiàng)系數(shù)為0;指數(shù)不定,本想在Add函數(shù)中加入判斷條件;結(jié)果程序不斷停止運(yùn)行,后來(lái)?yè)Q做手動(dòng)限制項(xiàng)數(shù)。程序運(yùn)行成功。 多項(xiàng)式輸出時(shí),我在開頭多輸出一個(gè)0;不影響結(jié)果,也不會(huì)出現(xiàn)多出一個(gè)加號(hào)的問(wèn)題。5、程序(注意必要的代碼部分加注釋)鏈表的基礎(chǔ)操作#include<stdio.h>#include<stdlib.h>#defineOK1#defineERROR0#defineOVERFLOW-1#defineTRUE1#defineFALSE0typedefintStatus;typedefintElemType;typedefstructLNode{ ElemTypedata; structLNode*next;}LNode,*LinkList;//頭插法建立鏈表voidCreatList(LinkList&L,intn){ LinkListp,q; inti; L=(LinkList)malloc(sizeof(LNode)); p=q=(LinkList)malloc(sizeof(LNode)); for(i=0;i<n;i++) { if(i==0)L->next=p; elseq->next=p; q=p; scanf("%d",&p->data); p=(LinkList)malloc(sizeof(LNode)); } q->next=NULL;}//尾插法建立鏈表voidCreatList1(LinkList&L,intn){ inti; LinkListp; L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; for(i=0;i<n;i++) { p=(LinkList)malloc(sizeof(LNode)); scanf("%d",&p->data); p->next=L->next; L->next=p; }}//輸出整個(gè)鏈表voidPrintList(LinkListL){ LinkListp; p=L->next; while(p!=NULL) { printf("%-2d",p->data); p=p->next; } }//獲取鏈表元素StatusGetElem(LinkListL,inti,ElemType&e){ LinkListp; intj; p=L->next;j=1; while(p&&j<i){ p=p->next; ++j; } if(!p||j>i)returnERROR; e=p->data; returnOK; }//在鏈表中插入元素StatusInsertList(LinkList&L,inti,ElemTypee){ LinkListp,s;intj; p=L;j=0; while(p&&j<i-1) { p=p->next;++j; } if(!p||j>i-1)returnERROR; s=(LinkList)malloc(sizeof(LNode)); s->next=p->next; p->next=s;s->data=e; returnOK;}//刪除指定元素StatusDelList(LinkListL,inti,ElemTypee){ LinkListp,s;intj; p=L;j=0; while((p->next)&&j<i-1) { p=p->next;++j; } if(!(p->next)||j>i-1)returnERROR; s=p->next;p->next=s->next; e=s->data;free(s); returnOK;}//獲取鏈表長(zhǎng)度StatusGetLen(LinkListL){ intn=0; LNode*p; p=L->next; while(p!=NULL) { n++; p=p->next; } returnn;}intmain(){ LinkListl; CreatList(l,5); PrintList(l); InsertList(l,3,4); printf("\n"); PrintList(l); DelList(l,3,4); printf("\n"); PrintList(l); return0;}一元多項(xiàng)式相加實(shí)現(xiàn):#include<stdio.h>#include<stdlib.h>#include<conio.h>#defineOK1#defineERROR0#defineOVERFLOW-1#defineTRUE1#defineFALSE0typedefintStatus;typedefintElemType;typedefstructLNode{ intcoef; intexpn; structLNode*next;}LNode,*LinkList;//建立鏈表儲(chǔ)存數(shù)據(jù)voidCreatList(LinkList&L,intn){ LinkListp,q; inti; L=(LinkList)malloc(sizeof(LNode)); p=q=(LinkList)malloc(sizeof(LNode)); for(i=0;i<n;i++) { if(i==0)L->next=p; elseq->next=p; q=p; scanf("%d",&p->coef); scanf("%d",&p->expn); p=(LinkList)malloc(sizeof(LNode)); } q->next=NULL;}//加法運(yùn)算LNode*Add(LinkListLa,LinkListLb){ LinkListLc,pc,pa,pb,ptr; intx; Lc=La;pa=La->next;pb=Lb->next;pc=Lc; while(pa!=NULL&&pb!=NULL) { if(pa->expn<pb->expn) { pc->next=pa;pc=pa;pa=pa->next; } if(pa->expn>pb->expn) { pc->next=pb;pc=pb;pb=pb->next; } else { x=pa->coef+pb->coef; if(x==0) { ptr=pa;pa=pa->next;free(ptr); ptr=pb;pb=pb->next;free(ptr); } else { pc->next=pa;pa->coef=x; pc=pa;pa=pa->next; ptr=pb;pb=pb->next;free(ptr); } } } if(pa==NULL)pc->next=pb; elsepc->next=pa; returnLc;}/*voidPrintList(LinkListL){ LinkListp; p=L->next; printf("0"); while(p!=NULL) { printf("%d%d",p->coef,p->expn); p=p->next; } }*///輸出多項(xiàng)式voidPrintList1(LinkListL){ LinkListp; p=L->next; printf("\n0"); while(p!=NULL) { printf("+%dx^%d",p->coef,p->expn); p=p->next; } }intmain(){ LinkListLa,Lb,Lc; intm,n; printf("請(qǐng)輸入第一個(gè)多項(xiàng)式項(xiàng)數(shù):\n");scanf("%d",&m);printf("請(qǐng)輸入多項(xiàng)式系數(shù),指數(shù)規(guī)則【a(系數(shù))b(指數(shù))】\n"); C
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)傳媒大學(xué)《計(jì)算機(jī)電子電路基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)治醫(yī)學(xué)院《劇場(chǎng)品牌管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南司法警官職業(yè)學(xué)院《體育-臺(tái)球》2023-2024學(xué)年第一學(xué)期期末試卷
- 保險(xiǎn)行業(yè)數(shù)字營(yíng)銷模板
- 拿破侖歷史名人人物介紹
- 二零二五年酒店承包經(jīng)營(yíng)合同(含客房、餐飲及商務(wù)接待)3篇
- 人教版四年級(jí)數(shù)學(xué)上冊(cè)寒假作業(yè)(十五)(含答案)
- 湖北省武漢市常青聯(lián)合體2024-2025學(xué)年高一上學(xué)期期末考試生物試卷(有答案)
- 二零二五年度電器維修與智能升級(jí)服務(wù)合同3篇
- 延邊職業(yè)技術(shù)學(xué)院《中學(xué)美術(shù)教學(xué)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年浙江省金華市統(tǒng)計(jì)局招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 員工職業(yè)素養(yǎng)與團(tuán)隊(duì)意識(shí)培訓(xùn)課件2
- 部編版三年級(jí)下冊(cè)語(yǔ)文全冊(cè)教案及全套導(dǎo)學(xué)案
- 2024年國(guó)家級(jí)森林公園資源承包經(jīng)營(yíng)合同范本3篇
- 對(duì)口升學(xué)《計(jì)算機(jī)應(yīng)用基礎(chǔ)》復(fù)習(xí)資料總匯(含答案)
- 迪士尼樂(lè)園總體規(guī)劃
- 2024年江蘇省蘇州市中考數(shù)學(xué)試卷含答案
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項(xiàng)考試題庫(kù)
- 介紹蝴蝶蘭課件
- 大學(xué)計(jì)算機(jī)基礎(chǔ)(第2版) 課件 第1章 計(jì)算機(jī)概述
- 數(shù)字化年終述職報(bào)告
評(píng)論
0/150
提交評(píng)論