線性表的順序存儲結(jié)構(gòu)實驗報告樣例

線性表的順序存儲結(jié)構(gòu)實驗報告樣例

ID:8848856

大小:72.50 KB

頁數(shù):11頁

時間:2018-04-09

線性表的順序存儲結(jié)構(gòu)實驗報告樣例_第1頁
線性表的順序存儲結(jié)構(gòu)實驗報告樣例_第2頁
線性表的順序存儲結(jié)構(gòu)實驗報告樣例_第3頁
線性表的順序存儲結(jié)構(gòu)實驗報告樣例_第4頁
線性表的順序存儲結(jié)構(gòu)實驗報告樣例_第5頁
資源描述:

《線性表的順序存儲結(jié)構(gòu)實驗報告樣例》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、年南昌航空大學(xué)實驗報告(用實驗報告紙,手寫)課程名稱:數(shù)據(jù)結(jié)構(gòu)實驗名稱:實驗一線性表的順序存儲結(jié)構(gòu)班級:080611學(xué)生姓名:賴凌學(xué)號:08061101指導(dǎo)教師評定:簽名:題目:有兩張非遞減有序的線性學(xué)生表A,B,采用順序存儲結(jié)構(gòu),兩張表合并用c表存,要求C仍為非遞減有序的,并刪除C中值相同的表。一、需求分析⒈本演示程序根據(jù)已有的6位學(xué)生的信息,實現(xiàn)兩張表的合并及刪除值相同元素的操作,不需要用戶重新輸入學(xué)生的信息。⒉在演示過程序中,用戶敲擊鍵盤,即可觀看演示結(jié)果。⒊程序執(zhí)行的命令包括:(1)構(gòu)造線性表A(2)構(gòu)造線性表B(3)求兩張表的并(4)刪除C中值

2、相同的元素二、概要設(shè)計⒈為實現(xiàn)上述算法,需要線性表的抽象數(shù)據(jù)類型:ADTStack{數(shù)據(jù)對象:D={ai:

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

4、ai-1,ai∈D,i=2,…n≥0}基本操作:init(list*L)操作結(jié)果:構(gòu)造一個空的線性表L。ListLength(List*L)初始條件:線性表L已經(jīng)存在操作結(jié)果:返回L中數(shù)據(jù)元素的個數(shù)。GetElem(ListL,inti,ElemType*e)初始條件:線性表L已經(jīng)存在,1≤i≤ListLength(&L)操作結(jié)果:用e返回L中第i個數(shù)據(jù)元素的值。Equ

5、alList(ElemType*e1,ElemType*e2)初始條件:數(shù)據(jù)元素e1,e2存在操作結(jié)果:以e1,e2中的姓名項作為判定e1,e2是否相等的依據(jù)。Less_EquaList(ElemType*e1,ElemType*e2)初始條件:數(shù)據(jù)元素e1,e2存在操作結(jié)果:以e1,e2中的姓名項(為字符串)的≤來判定e1,e2是否有≤的關(guān)系。LocateElem(List*La,ElemTypee,inttype)初始條件:線性表La已經(jīng)存在11操作結(jié)果:判斷La中是否有與e相同的元素。MergeList(List*La,List*Lb,List*L

6、c)初始條件:非遞減線性表La,Lb已經(jīng)存在操作結(jié)果:合并La,Lb得到Lc,Lc仍按非遞減有序排列。UnionList(List*La,List*Lb)初始條件:線性表La,Lb已經(jīng)存在操作結(jié)果:將所有在Lb而不在La中的元素插入到La中表尾的位置。PrintList(ListL)初始條件:線性表L已經(jīng)存在操作結(jié)果:打印出表L。ListInsert(List*L,inti,structSTUe)初始條件:線性表L已經(jīng)存在,1≤i≤ListLength(&L)+1操作結(jié)果:在表L中第i個位置前插入元素e,L的長度加1。}ADTList2.本程序有三個模塊

7、:⑴主程序模塊voidmain(){初始化;{接受命令;顯示結(jié)果;}}⑵線性表單元模塊:實現(xiàn)線性表抽象數(shù)據(jù)類型;⑶結(jié)點結(jié)構(gòu)單元模塊:定義線性表中的結(jié)點結(jié)構(gòu)。三、詳細(xì)設(shè)計⒈元素類型,結(jié)點類型structSTU{charname[20];//學(xué)生名字、學(xué)號、年齡、分?jǐn)?shù)charstuno[10];intage;intscore;};typedefstructSTUElemType;//元素類型structLIST{ElemType*elem;intlength;//表的長度、大小intlistsize;};typedefstructLISTlist;//結(jié)點類

8、型112.對抽象數(shù)據(jù)類型中的部分基本操作的偽碼算法如下:intinit(List*L){L→elem=(ElemType*)malloc(sizeof(ElemType)*LIST_INIT_SIZE);If(!L→elem)exit(OVERFLOW);L→length=0;L→listsize=LIST_INIT_SIZE;ReturnOK;}//初始化表intListLength(List*L){returnL→length;}//返回表長voidGetElem(ListL,inti,ElemType*e){*e=L.elem[i];}//返回元素

9、intlocateElem(List*La,ElemTypee,inttype){intI;switch(type)//確定元素在表中的位置{caseEQVAL;for(i=0;i

10、m;Lc→Listsize=Lc→length=La→length+Lb→len

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

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

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