




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、站昌航空大學(xué)賣驗報告課程名稱:數(shù)據(jù)結(jié)構(gòu)班級:指導(dǎo)教師評定:簽實驗名稱:學(xué)生姓名:名:實驗一線性表的順序存儲結(jié)構(gòu)學(xué)號:題目:有兩張非遞減有序的線性學(xué)生表A,B,采用順序存儲結(jié)構(gòu),兩張表合并用c表存,要求C仍為非遞減有序的,并刪除C中值相同的表。一、需求分析用戶可以根據(jù)自己的需求分別輸入兩個整型的線性表,有必要的話可以通過源程序改變是否為整型,再進行輸入。程序執(zhí)行的命令包括:構(gòu)造線性表A(2)構(gòu)造線性表B(3)求兩張表的并(4)刪除C中值相同的元素(5)將己合并的線性表進行逆序排列二、概要設(shè)計為實現(xiàn)上述算法,需要線性表的抽象數(shù)據(jù)類型:ADTStack數(shù)據(jù)對象:D=ai:aiWElemSet,i二1
2、n,n$0數(shù)據(jù)關(guān)系:Rl=|ai-i,aiGD,i=2,n$0基本操作:initlist(&L)操作結(jié)果:構(gòu)造一個空的線性表LListLength(L)初始條件:線性表L已經(jīng)存在操作結(jié)果:返回L中數(shù)據(jù)元素的個數(shù)。LocateElem(List*La,ElemTypee,inttype)初始條件:線性表La已經(jīng)存在操作結(jié)果:判斷La中是否有與e相同的元素。MergeList(La,Lb,&Lc)初始條件:非遞減線性表La,Lb已經(jīng)存在操作結(jié)果:合并La,Lb得到Lc,Lc仍按非遞增有序排列。UnionList(List*La,List*Lb)初始條件:線性表La,Lb已經(jīng)存在操作結(jié)果:將所有在L
3、b而不在La中的元素插入到La中表尾的位置。PrintList(L)初始條件:線性表L已經(jīng)存在操作結(jié)果:打印出表L。Listlnsert(List*L,inti,structSTUe)初始條件:線性表L已經(jīng)存在,1WiWListLength(&L)+l操作結(jié)果:在表L中第i個位置前插入元素e,L的長度加1。ADTList本程序有三個模塊:主程序模塊mainO初始化;接受命令;顯示結(jié)果:線性表單元模塊:實現(xiàn)線性表抽象數(shù)據(jù)類型;結(jié)點結(jié)構(gòu)單元模塊:定義線性表中的結(jié)點結(jié)構(gòu)。三、詳細設(shè)計1元素類型,結(jié)點類型typedefstructsqlistint*a;intlength;intlistsize;sq
4、list;sqlistla,lb,lc;sqlistinitlist()sqlist1;1a=(int*)malloc(listinitsize*sizeof(int);if(!l.a)exit(OVERFLOW);1length二0;1.listsize=listinitsize;:return1;2.對抽彖數(shù)據(jù)類型中的部分基本操作的偽碼算法如卞:sqlistaddlist(sqlistla,sqlistlb,sqlistlc)/*合并兩順序表*/inti二1,j=l,k=l;while(i=la1ength&j=lb1ength)if(la.ai=lb.aj)lc.ak=lbai;i+;k
5、+;elselcak=laaj;j+;k+;while(i=lalength)lc.ak=laaLi;k+;i卄;while(j=lblength)lcak=lbaLj;k+;j卄;lc.gth=kl;returnlc;voidprintlist(sqlist1)inti=l;for(i=l;i0)j二0;for(i=l;iLlength;i+)k二0;while(k=j&Lak!=Lai)k+;if(k=j+l)L.aj+=L.ai;Llength二j;returnL;/*刪除線性表中的相同的元素*/sqlistchange(sqlist1)inti,t;for(i=l;i#includem
6、alloch#definelistinitsize100#defineOVERFLOW-1/*線性表的定義*/typedefstructsqlistint*a;intlength;intlistsize;sqlist;sqlistla,lb,lc;/*建立一個空表*/sqlistinitlist()sqlist1;1a=(int*)malloc(listinitsize*sizeof(int);if(!l.a)exit(OVERFLOW);1.length二0;1.listsize=listinitsize;return1;sqlistcreatlist(sqlist1,intnum)intj
7、;intp;for(j=l;j=num;j+)scanf&p);laaj二p;la.length+;/*合并兩線性表*/sqlistaddlist(sqlistla,sqlistlb,sqlistlc)inti二1,j=l,k=l;while(i=la1ength&j=lb1ength)if(la.ai=lb.aj)lc.ak=lbai;i+;k+;elselc.ak=laaj;j+;k+;while(i=lalength)lc.ak=laaLi;k+;i卄;while(j=lblength)lcak=lbaLj;k+;j+;lc.1己11gth=kl;returnlc;/*打印線性表*/vo
8、idprintlist(sqlist1)inti=l;for(i=l;i0)j二0;for(i=l;iLlength;i+)k二0;while(k=j&L.ak!=L.ai)k+;if(k=j+l)L.aj+=L.ai;Llength二j;returnL;/*將線性表進行逆序排列*/sqlistchange(sqlist1)inti,t;for(i=l;i=l.length/2;i+)t二1ai;1ai二1.allengthi;1.allength一i二t;return1;/*主函數(shù)*/mainOintnum,numO;intp;inti,j;la=initlist0;lb=initlist();lc=initlist0;printf(PleaseinputthenumlbersofyouwantalboutLa:);scanf(,z%d,z,&num);printf(n);creatlist(la,num);printf(,znPleaseinputthenumlbersofyouwantalboutLb:);scanf(,z%d,z,&numO);printf(n);creatlist(lb,numO);printf(Thel
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級歷史文化傳承的舉措計劃
- 大班班級日常管理的注意事項計劃
- 2025年玉米酒精糟回收蛋白飼料成套設(shè)備(DDGS)項目建議書
- 2025年異步轉(zhuǎn)移模式寬帶交換機項目建議書
- 2025年不停電電源(UPS)項目合作計劃書
- 2025年中國文創(chuàng)產(chǎn)品行業(yè)發(fā)展策略、市場環(huán)境及前景研究分析報告
- 2025年鼠抗腫瘤相關(guān)抗原單克隆抗體項目合作計劃書
- 客戶資料查詢權(quán)限嚴(yán)格把控
- 簡易私人承包合同
- 電纜電線采購合同書
- 2025年國家林業(yè)和草原局直屬事業(yè)單位第一批招聘應(yīng)屆畢業(yè)生96人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2025年春季開學(xué)典禮校長講話稿-少年無畏凌云志扶搖直上入云蒼
- 2025年上半年中煤科工集團北京華宇工程限公司中層干部公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 會議室墻面隔音板施工方案
- 特朗普就職演說全文與核心要點
- 1《北京的春節(jié)》課后練習(xí)(含答案)
- (完整版)陸河客家請神書
- 2025年教科版新教材科學(xué)小學(xué)一年級下冊教學(xué)計劃(含進度表)
- 2025年學(xué)校教師政治理論學(xué)習(xí)計劃
- 集團專利管理制度內(nèi)容
- 2025年中國社會科學(xué)院世界歷史研究所科研人員招聘4人歷年高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論