數(shù)據(jù)結(jié)構(gòu)實驗報告-線性表.doc

數(shù)據(jù)結(jié)構(gòu)實驗報告-線性表.doc

ID:55411430

大?。?9.50 KB

頁數(shù):5頁

時間:2020-05-12

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

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

1、課程名稱_數(shù)據(jù)結(jié)構(gòu)__實驗名稱_線性表的操作實驗日期_______班級_計科__姓名_____學(xué)號__儀器編號______實驗報告要求1.實驗?zāi)康?.實驗要求3.實驗步驟4.程序清單5.運(yùn)行情況6.流程圖7.實驗體會實驗?zāi)康模簩嶒災(zāi)康模孩攀煜ぞ€性表的定義和基本操作;⑵掌握線性表的順序存儲結(jié)構(gòu)設(shè)計與基本操作的實現(xiàn)。實驗任務(wù)與要求:⑴定義線性表的順序存儲表示;⑵基于所設(shè)計的存儲結(jié)構(gòu)實現(xiàn)線性表的基本操作;⑶編寫一個主程序?qū)λ鶎崿F(xiàn)的線性表進(jìn)行測試;⑷線性表的應(yīng)用:編程實現(xiàn)順序表的合并實驗內(nèi)容:1、運(yùn)行以下程序,理解靜態(tài)分配順序存儲結(jié)構(gòu)的線性表的下列基本操作。(1)初始化順序表(2)

2、創(chuàng)建順序表(3)判斷空表(4)求順序表長度(5)輸出順序表(6)取順序表位置i的元素值(7)在順序表中查找值為e的元素位置(8)向順序表中插入一個元素(9)從順序表中刪除一個元素2、采用書上第22頁定義的線性表動態(tài)分配順序存儲結(jié)構(gòu),編程實現(xiàn)書中算法2.3、算法2.4和算法2.5。提示:要實現(xiàn)算法2.4和2.5,必須先創(chuàng)建n個數(shù)據(jù)元素的順序表,另外輸出順序表的操作也是必要的。3、采用線性表動態(tài)分配順序存儲結(jié)構(gòu),實現(xiàn)順序表的合并操作:①設(shè)有線性表LA和LB,試設(shè)計算法將LA和LB歸并為新的線性表LC;②設(shè)線性表L1和L2中的數(shù)據(jù)元素為整數(shù),且均已按值非遞減有序排列,要求L3中的

3、數(shù)據(jù)元素也按值非遞減有序排列。程序清單:1、略2、#include#include#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineERROR0#defineOK1typedefintElemType;typedefstruct{int*elem;intlength;intlistsize;}SqList;intInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.

4、elem)returnERROR;L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}voidCreateList_Sq(SqList&L,intn){inti;printf("輸入%d個元素:",n);for(i=0;i

5、tListInsert_Sq(SqList&L,inti,ElemTypee){ElemType*newbase;int*p,*q;if(i<1

6、

7、i>L.length+1)returnERROR;if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)returnERROR;L.elem=newbase;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);for(

8、p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;returnOK;}intListDelete_Sq(SqList&L,inti,ElemType&e){int*p,*q;if(i<1

9、

10、i>L.length)returnERROR;p=&(L.elem[i-1]);e=*p;q=L.elem+L.length-1;for(++p;p<=q;++p)*(p-1)=*p;--L.length;returnOK;}voidmain(){ElemTypee,a,n,x,y;SqListL;InitList_Sq

11、(L);printf("輸入元素個數(shù)n:");scanf("%d",&n);CreateList_Sq(L,n);printf("輸出順序表所有元素:");DispList_Sq(L);printf("插入元素的位置:");scanf("%d",&x);printf("插入的元素為:");scanf("%d",&a);printf("在順序表第%d個位置插入%d",x,a);ListInsert_Sq(L,x,a);printf("輸出插入操作后順序表所有元素!");DispList_Sq(L);p

當(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)系客服處理。