線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料

線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料

ID:47895806

大?。?3.05 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2019-10-20

線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料_第1頁(yè)
線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料_第2頁(yè)
線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料_第3頁(yè)
線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料_第4頁(yè)
線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料_第5頁(yè)
資源描述:

《線(xiàn)性表地順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告材料》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、實(shí)用標(biāo)準(zhǔn)南昌航空大學(xué)實(shí)驗(yàn)報(bào)告課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)名稱(chēng):實(shí)驗(yàn)一線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)班級(jí):XXX學(xué)生姓名:XXX學(xué)號(hào):XXXXX指導(dǎo)教師評(píng)定:XXX簽名:XXX設(shè)計(jì)并實(shí)現(xiàn)以下算法:有兩張非遞增有序的線(xiàn)性表A,B,采用順序存儲(chǔ)結(jié)構(gòu),兩張表合并用C表存,要求C仍為非遞增有序的,并刪除C表中值相同的多余元素。一、需求分析⒈本程序中,要求輸入到表A,B中的元素是整形的,并且要按非遞增順序輸入,否則系統(tǒng)會(huì)給出“出錯(cuò)信息”。輸出結(jié)果應(yīng)該是一個(gè)不含有重復(fù)元素的非遞增的表。⒉本程序以用戶(hù)和計(jì)算機(jī)的對(duì)話(huà)方式執(zhí)行,即在計(jì)算機(jī)演示界面上顯示“提示信息”后,由用戶(hù)在鍵盤(pán)上輸入相應(yīng)的信息;相應(yīng)的輸入數(shù)據(jù)和運(yùn)算結(jié)果顯示在

2、其后。⒊程序執(zhí)行的命令包括:(1)構(gòu)造線(xiàn)性表A(2)構(gòu)造線(xiàn)性表B(3)檢驗(yàn)表A,B是否非遞減有序(4)求表A與B的合并(5)刪除表中值相同的多余元素(6)結(jié)束。4.測(cè)試數(shù)據(jù)(1)A=123(2)A=950-2B=1050-1-3-5-10二、概要設(shè)計(jì)⒈為實(shí)現(xiàn)上述算法,需要線(xiàn)性表的抽象數(shù)據(jù)類(lèi)型:ADTStack{數(shù)據(jù)對(duì)象:D={ai:

3、ai∈ElemSet,i=1…n,n≥0}數(shù)據(jù)關(guān)系:R1={

4、ai-1,ai∈D,i=2,…n}基本操作:init(list*L)操作結(jié)果:構(gòu)造一個(gè)空的線(xiàn)性表L。InputList(List*L)初始條件:線(xiàn)性表L已經(jīng)存在操作結(jié)果:人工輸入了一

5、張表。CheckList(List*L)初始條件:線(xiàn)性表L已經(jīng)存在操作結(jié)果:判斷L是否非遞增有序,若為否,則重新輸入。MergeList(List*La,List*Lb,List*Lc)初始條件:非遞增線(xiàn)性表La,Lb已經(jīng)存在操作結(jié)果:合并La,Lb得到Lc,Lc仍按非遞增有序排列。文案大全實(shí)用標(biāo)準(zhǔn)DeleteSame(List*L)初始條件:非遞增線(xiàn)性表L已經(jīng)存在操作結(jié)果:刪除了L中值相同的元素。PrintList(ListL)初始條件:線(xiàn)性表L已經(jīng)存在操作結(jié)果:打印出表L。}ADTList2.本程序有三個(gè)模塊:⑴主程序模塊voidmain(){初始化;do{接受命令;顯示結(jié)果;}whil

6、e(執(zhí)行完畢)}⑵線(xiàn)性表單元模塊:實(shí)現(xiàn)線(xiàn)性表抽象數(shù)據(jù)類(lèi)型;⑶結(jié)點(diǎn)結(jié)構(gòu)單元模塊:定義線(xiàn)性表中的結(jié)點(diǎn)結(jié)構(gòu)。三、詳細(xì)設(shè)計(jì)⒈元素類(lèi)型,結(jié)點(diǎn)類(lèi)型typedefintElemType;//元素類(lèi)型structLIST{ElemType*elem;intlength;intlistsize;};typedefstructLISTlist;//結(jié)點(diǎn)類(lèi)型2.對(duì)抽象數(shù)據(jù)類(lèi)型中的部分基本操作的偽碼算法如下:intinit(List*L){//初始化表LL→elem=(ElemType*)malloc(sizeof(ElemType)*LIST_INIT_SIZE);//為線(xiàn)性表順序結(jié)構(gòu)分配空間If(!L→elem

7、)exit(ERROR);L→length=0;L→listsize=LIST_INIT_SIZE;ReturnOK;}//initListvoidInputList(List*L){//構(gòu)造表Lintflag=-32768;//輸入結(jié)束的標(biāo)志文案大全實(shí)用標(biāo)準(zhǔn)scanf("%d",&n);//輸入元素while(n!=flag){//繼續(xù)輸入L→elem[j++]=n;L→length=j;Scanf("%d",&n);}}//InputListvoidCheckList(List*L){for(i=0;i

8、nputList(L);//輸入為遞增時(shí),要重新輸入i=0;}}//CheckListvoidMergeList(List*La,List*Lb,List*Lc){//表La和Lb合并為L(zhǎng)cPa=La→elem;pb=Lb→elem;//pa,pb分別指向La,Lb的第一個(gè)元素Lc→Listsize=La→length+Lb→length;Lc→elem==(ElemType*)malloc(Lc→listsize*sizeof(ElemType));pc=Lc→elem;//pc指向表Lc的第一個(gè)元素pa_last=La→elem+La→length-1;//表La最后一個(gè)元素的地址pb_

9、last=Lb→elem+Lb→length-1;//表Lb最后一個(gè)元素的地址while(pa<=pa_last&&pb<=pb_last){//表La,Lb都未操作完時(shí)if(*pa<=*pb)*pc++=*pb++;else*pc++=*pa++;}while(pa<=pa_last)*pc++=*pa++;//將La的剩余部分接到Lcwhile(pb<=pb_last)*pc++=*pb++;//將Lb的

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。