江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告

江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告

ID:35408481

大小:104.31 KB

頁數(shù):5頁

時間:2019-03-24

江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告_第1頁
江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告_第2頁
江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告_第3頁
江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告_第4頁
江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告_第5頁
資源描述:

《江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、江西師范大學(xué)軟件學(xué)院學(xué)生實驗報告專業(yè)10軟件工程2班姓名李芳云號1067001085日期課程名稱數(shù)據(jù)結(jié)構(gòu)實驗室名稱X2407實驗名稱線性表及其應(yīng)用指導(dǎo)教師吳福英成績一、實驗?zāi)康?.學(xué)會定義單鏈表的結(jié)點(diǎn)類型,實現(xiàn)對單鏈表的一些基本操作和具體的函數(shù)定義,了解并掌握單鏈表的類定義以及成員函數(shù)的定義與調(diào)用。2.常握單鏈表基本操作及兩個有序表歸并、單鏈表逆置等操作的實現(xiàn)。二、實驗要求1.預(yù)習(xí)C語言中結(jié)構(gòu)體的定義與基本操作方法。2.對單鏈表的每個基本操作用單獨(dú)的函數(shù)實現(xiàn)。3?編寫完整程序完成下面的實驗內(nèi)容并上機(jī)運(yùn)行。4

2、.整理并上交實驗報告。三、實驗內(nèi)容1.構(gòu)造一個單鏈表L,其頭結(jié)點(diǎn)指針為head,編寫程序?qū)崿F(xiàn)將L逆置。(即最后一個結(jié)點(diǎn)變成第一個#include#include#includeHslnklist.h"voidmain(){intx;node*L;L=init();printf(uenterdigtials:");scanf("%d"/(&x);while(x!=-l){L=insert(L/x/O);scanf(”%d“,&x);}printf("outputnewdi

3、gtials:");display(L);printf(u");}enterdigtials:12345678-1outputnewdigtials:各節(jié)點(diǎn)的值為:87654321Pressanykeytocontinue結(jié)點(diǎn),原來倒數(shù)笫二個結(jié)點(diǎn)變成笫二個結(jié)點(diǎn),如此等等。)2.構(gòu)造兩個帶有表頭結(jié)點(diǎn)的有序單鏈表La、Lb,編寫程序?qū)崿F(xiàn)將La、Lb合并成序單鏈表Leonode*hebing(node*headl/node*head2){node*ql*q2*pl*p2;ql=headl->next;q2=h

4、eadl->next->next;pl=head2;p2=head2?>next;while(q2){while(ql->infoinfo){P1=P2;p2=p2->next;}ql->next=p2;pl->next=ql;pl二ql;ql二q2;q2=q2->next;}returnhead2;}-"J:lab1067001085李芳云實驗五帶頭結(jié)點(diǎn)la和lb鏈表合成lc有序'

5、請輸天13的看輸入要插入的數(shù),以?1結(jié)尾,使之成為有序遞減單鏈表:1?987-1各節(jié)點(diǎn)的值為:10987請輸

6、入lb的值輸入要插入的數(shù),以?1結(jié)尾,使之成為有序遞減單鏈表:653-1各節(jié)點(diǎn)的值為:653各節(jié)點(diǎn)的值為:298653Pressangkeytocontinue^合并思想是:程序需要3個指針:pa、pb、pc,其屮pa,pb分別指向La表與Lb表中當(dāng)前待比較插入的結(jié)點(diǎn),pc指向Lc表中當(dāng)前最后一個結(jié)點(diǎn)。依次掃描La和Lb中的元素,比較當(dāng)前元素的值,將較小者鏈接到★匹之后,如此重復(fù)直到La或Lb結(jié)束為止,再將另一個鏈表余下的內(nèi)容鏈接到pc所指的結(jié)點(diǎn)之后。3、設(shè)單鏈表L是一個遞減有序表,試寫一算法將X插入其屮后

7、仍保持L的有序node*charumyhead(node*headjntx){node*p*q*pre;pre二head;q=head->next;p=(node*)malloc(sizeof(node));p->info=x;while(q&&q->info>p->info)pre二q;q=q->next;}p->nex十二q->next;q->next=p;returnhead;1910請輸入有序遞減鏈表的值:1910876綸由鏈表:各節(jié)點(diǎn)的值為:1910請輸入要插入的數(shù):22請輸出插入后的鏈表各節(jié)點(diǎn)的

8、值為:2218請輸出插入后的鏈表各節(jié)點(diǎn)的值為:221918100請輸出插入后的鏈表各節(jié)點(diǎn)的值為:22191810}性。4、設(shè)計一個算法,對單鏈表按結(jié)點(diǎn)值從小到大對結(jié)點(diǎn)進(jìn)行排序。node*paixu(node*head){node*q/*pre/*n*m;q=head->next;head->next=NULL;while(q)pre二head;n=head->next;m=q;q=q->next;while(n&&n->infoinfo)pre=n;n=n->next;pre->next二m;;m-

9、>next=n;returnhead;}請輸入:O298910O84各節(jié)點(diǎn)的值為:029891008斗各節(jié)點(diǎn)的值為:04829891OOPressanykey5、(選做題)寫一算法將單鏈表中值重復(fù)的結(jié)點(diǎn)刪除,node*delemyhead(node★head){node*p*q*r;//for(p=head->next;p!=NULL;p=p->next)//for(q=head->next->next;q!=N

當(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ò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。