數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc

數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc

ID:55411427

大?。?2.50 KB

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

時(shí)間:2020-05-12

數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)線性表實(shí)驗(yàn)報(bào)告.doc_第5頁(yè)
資源描述:

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

1、實(shí)驗(yàn)報(bào)告課程數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)名稱實(shí)驗(yàn)一線性表學(xué)號(hào)姓名實(shí)驗(yàn)日期:實(shí)驗(yàn)一線性表實(shí)驗(yàn)?zāi)康模?.理解線性表的邏輯結(jié)構(gòu)特性;2.熟練掌握線性表的順序存儲(chǔ)結(jié)構(gòu)的描述方法,以及在該存儲(chǔ)結(jié)構(gòu)下的基本操作;并能靈活運(yùn)用;3.熟練掌握線性表的鏈表存儲(chǔ)結(jié)構(gòu)的描述方法,以及在該存儲(chǔ)結(jié)構(gòu)下的基本操作;并能靈活運(yùn)用;4.掌握雙向鏈表和循環(huán)鏈表的的描述方法,以及在該存儲(chǔ)結(jié)構(gòu)下的基本操作。實(shí)驗(yàn)原理:線性表順序存儲(chǔ)結(jié)構(gòu)下的基本算法;線性表鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)下的基本算法;實(shí)驗(yàn)內(nèi)容:2-21設(shè)計(jì)單循環(huán)鏈表,要求:(1)?????單循環(huán)鏈表抽象數(shù)據(jù)

2、類型包括初始化操作、求數(shù)據(jù)元素個(gè)數(shù)操作、插入操作、刪除操作、取消數(shù)據(jù)元素操作和判非空操作。(2)?????設(shè)計(jì)一個(gè)測(cè)試主函數(shù),實(shí)際運(yùn)行驗(yàn)證所設(shè)計(jì)單循環(huán)鏈表的正確性。2-22.設(shè)計(jì)一個(gè)有序順序表,要求:(1)?????有序順序表的操作集合有如下操作:初始化、求數(shù)據(jù)元素個(gè)數(shù)、插入、刪除和取數(shù)據(jù)元素。有序順序表與順序表的主要區(qū)別是:有序順序表中的數(shù)據(jù)元素按數(shù)據(jù)元素值非遞減有序。(2)?????設(shè)計(jì)一個(gè)測(cè)試主函數(shù),實(shí)際運(yùn)行驗(yàn)證所設(shè)計(jì)有序順序表的正確性。(3)?????設(shè)計(jì)合并函數(shù)ListMerge(L1,L

3、2,L3),功能是把有序順序表L1和L2中的數(shù)據(jù)元素合并到L3,要求L3中的數(shù)據(jù)元素依然保持有序。并設(shè)計(jì)一個(gè)主函數(shù),驗(yàn)證該合并函數(shù)的正確性。程序代碼:2-21(1)頭文件LinList.h如下:typedefstructnode{DataTypedata;structnode*next;}SLNode;/*(1)初始化ListInitiate(SLNode**head)*/voidListInitiate(SLNode**head){/*如果有內(nèi)存空間,申請(qǐng)頭結(jié)點(diǎn)空間并使頭指針head指向頭結(jié)點(diǎn)*/

4、if((*head=(SLNode*)malloc(sizeof(SLNode)))==NULL)exit(1);(*head)->next=NULL;/*置結(jié)束標(biāo)記NULL*/}/*(2)求當(dāng)前數(shù)據(jù)元素個(gè)數(shù)ListLength(SLNode*head)*/intListLength(SLNode*head){SLNode*p=head;intsize=0;while(p->next!=head){p=p->next;size++;}returnsize;}/*(3)插入ListInsert(SLN

5、ode*head,inti,DataTypex)*//*在帶頭結(jié)點(diǎn)的單鏈表的第i(0<=i<=size)個(gè)結(jié)點(diǎn)前*//*插入一個(gè)存放數(shù)據(jù)元素x的結(jié)點(diǎn)。插入成功時(shí)返回1,失敗返回0*/intListInsert(SLNode*head,inti,DataTypex){SLNode*p,*q;intj;p=head;j=-1;while(p->next!=head&&jnext;j++;}if(j!=i-1){printf("Theinserte

6、dpositioniserror!");return0;}/*生成新結(jié)點(diǎn)由指針q指示*/if((q=(SLNode*)malloc(sizeof(SLNode)))==NULL)exit(1);q->data=x;q->next=p->next;p->next=q;return1;}/*(4)刪除ListDelete(SLNode*head,inti,DataType*x)*//*刪除帶頭結(jié)點(diǎn)的單鏈表head的第i(0<=i<=size)個(gè)結(jié)點(diǎn)前*//*被刪除結(jié)點(diǎn)的數(shù)據(jù)元素域由x帶回。刪除成功時(shí)返回

7、1,失敗返回0*/intListDelete(SLNode*head,inti,DataType*x){SLNode*p,*s;intj;p=head;j=-1;while(p->next!=head&&p->next->next!=head&&jnext;j++;}if(j!=i-1){printf("Thedeletedpositionofparameteriserror!");return0;}s=p->next;/*指針s指指向ai結(jié)

8、點(diǎn)*/*x=s->data;p->next=p->next->next;/*刪除*/free(s);/*釋放指針s所指結(jié)點(diǎn)的內(nèi)存空間*/return1;}/*(5)取數(shù)據(jù)元素ListGet(SLNode*head,inti,DataType*x)*/intListGet(SLNode*head,inti,DataType*x){SLNode*p;intj;p=head;j=-1;while(p->next!=head&&jnext;j++;}if(j

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(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)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。