實(shí)驗(yàn)一 線性表

實(shí)驗(yàn)一 線性表

ID:43451822

大?。?1.10 KB

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

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

實(shí)驗(yàn)一  線性表_第1頁(yè)
實(shí)驗(yàn)一  線性表_第2頁(yè)
實(shí)驗(yàn)一  線性表_第3頁(yè)
實(shí)驗(yàn)一  線性表_第4頁(yè)
實(shí)驗(yàn)一  線性表_第5頁(yè)
資源描述:

《實(shí)驗(yàn)一 線性表》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、數(shù)據(jù)結(jié)構(gòu)試驗(yàn)報(bào)告線性表學(xué)院:姓名:學(xué)號(hào):時(shí)間:專業(yè)班級(jí):線性表一、實(shí)驗(yàn)?zāi)康?.???掌握線性結(jié)構(gòu)中順序表和鏈表的基本概念、基本操作和應(yīng)用;2.???掌握線性表的基本操作:建表、插入、刪除、輸出等運(yùn)算在順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。3.通過(guò)本次實(shí)習(xí)加深對(duì)高級(jí)語(yǔ)言C語(yǔ)言的使用(特別是函數(shù)參數(shù)、指針類型、鏈表的使用)。熟悉線性表的基本運(yùn)算在兩種存儲(chǔ)結(jié)構(gòu)(順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu))上的實(shí)現(xiàn)。二、實(shí)驗(yàn)內(nèi)容1.??編寫(xiě)生成線性表的函數(shù),線性表的元素從鍵盤(pán)輸入,分別使用順序和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存儲(chǔ);2.編寫(xiě)在線性表中插入一個(gè)元

2、素的函數(shù);3.編寫(xiě)在線性表中刪除一個(gè)元素的函數(shù);4.編寫(xiě)輸出線性表的函數(shù);5.編寫(xiě)主函數(shù),調(diào)用以上各函數(shù),以便能觀察出原線性表以及作了插入或刪除后線性表的屏幕輸出。三、實(shí)驗(yàn)報(bào)告要求1.畫(huà)出程序流程圖并做簡(jiǎn)單分析2.源代碼(包括主要結(jié)構(gòu)、主要語(yǔ)句、函數(shù)注釋說(shuō)明)3.運(yùn)行結(jié)果(包括程序如何使用,輸入數(shù)據(jù)和輸出結(jié)果)4.實(shí)驗(yàn)體會(huì)和問(wèn)題分析四、基本原理(一)線性表是最常用的而且也是最簡(jiǎn)單的一種數(shù)據(jù)結(jié)構(gòu),線性表是N個(gè)數(shù)據(jù)元素的有限序列。例如26個(gè)英文元素的字母表(A,B,C,D,···),其數(shù)據(jù)結(jié)構(gòu)的描述為:Line

3、ar_list=(D,R)其中,D={ai

4、ai屬于ElemSet,i=1,2,3,···},R={

5、i=2,3,4,……}。本實(shí)驗(yàn)是以數(shù)組的形式把線性表存放在計(jì)算機(jī)內(nèi)存的一個(gè)連續(xù)的區(qū)域內(nèi),這樣便有:LOC(ai+1)=LOC(ai)+mLOC(ai)=L0+m*(i-1)其中,m是存放每個(gè)元素所占的內(nèi)存字?jǐn)?shù),L0是a的地址,即首地址。(二)程序說(shuō)明插入一個(gè)新元素到第i個(gè)位置,既把元素ai向后移一個(gè)位置,成為元素ai+1,把新元素放入到第i個(gè)位置,其他元素依次后移。插入后的表長(zhǎng)是n+1(n

6、是原表長(zhǎng))。修改第i個(gè)元素,到第i個(gè)位置是把元素ai沖掉后存上新值。刪除第i個(gè)元素就是把余后的元素依次向前移一個(gè)位置。即:以元素ai+1,ai+2,···,依次取代ai,ai+1,···。刪除后的表長(zhǎng)是n-1(n是原表長(zhǎng))。(三)線性表鏈?zhǔn)酱鎯?chǔ)(選作)。五、實(shí)驗(yàn)程序#include#include#defineMAXSIZE20//數(shù)組最大界限typedefintElemType;//數(shù)據(jù)元素類型typedefstruct{ElemTypea[MAXSIZE];//一維

7、數(shù)組子域intlength;//表長(zhǎng)度域}SqList;//順序存儲(chǔ)的結(jié)構(gòu)體類型SqLista,b,c;voidcreat_list(SqList*L);voidout_list(SqListL);voidinsert_sq(SqList*L,inti,ElemTypee);ElemTypedelete_sq(SqList*L,inti);intlocat_sq(SqListL,ElemTypee);//主函數(shù)voidmain(){inti,k,loc;ElemTypee,x;charch;do{print

8、f("");printf("1.建立線性表");printf("2.插入數(shù)據(jù)元素");printf("3.刪除數(shù)據(jù)元素");printf("4.查找數(shù)據(jù)元素");printf("0.結(jié)束程序運(yùn)行");printf("==========================================");printf("請(qǐng)輸入你的選擇(1,2,3,4,0)");scanf("%d",&k);switch(k){case1:{creat_list(&a);out_lis

9、t(a);}break;case2:{printf("請(qǐng)輸入插入位置:");scanf("%d",&i);printf("請(qǐng)輸入要插入的數(shù)據(jù)元素值:");scanf("%d",&e);insert_sq(&a,i,e);out_list(a);}break;case3:{printf("請(qǐng)輸入刪除位置:");scanf("%d",&i);x=delete_sq(&a,i);out_list(a);if(x!=-1)printf("刪除數(shù)據(jù)元素為:%d",x);elseprintf("要?jiǎng)h

10、除的數(shù)據(jù)元素不存在!");}break;case4:{printf("請(qǐng)輸入要查找的數(shù)據(jù)元素值:");scanf("%d",&e);loc=locat_sq(a,e);if(loc==-1)printf("未找到指定數(shù)據(jù)元素!");elseprintf("已找到,數(shù)據(jù)元素位置是%d",loc);}break;}}while(k!=0);printf("按回車鍵,返回...");ch=getch

當(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. 本文檔由用戶上傳,版權(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)系客服處理。