c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告

c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告

ID:35639184

大小:3.72 MB

頁數(shù):34頁

時間:2019-04-04

c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告_第1頁
c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告_第2頁
c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告_第3頁
c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告_第4頁
c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告_第5頁
資源描述:

《c語言數(shù)據(jù)結(jié)構(gòu)線性表的基本操作實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、.實驗一線性表的基本操作一、實驗?zāi)康呐c基本要求1.掌握數(shù)據(jù)結(jié)構(gòu)中的一些基本概念。數(shù)據(jù)、數(shù)據(jù)項、數(shù)據(jù)元素、數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu),以及它們之間的關(guān)系。2.了解數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)之間的區(qū)別與聯(lián)系;數(shù)據(jù)的運算與數(shù)據(jù)的邏輯結(jié)構(gòu)的關(guān)系。3.掌握順序表和鏈表的基本操作:插入、刪除、查找以及表的合并等運算。4.掌握運用C語言上機(jī)調(diào)試線性表的基本方法。二、實驗條件1.硬件:一臺微機(jī)2.軟件:操作系統(tǒng)和C語言系統(tǒng)三、實驗方法確定存儲結(jié)構(gòu)后,上機(jī)調(diào)試實現(xiàn)線性表的基本運算。四、實驗內(nèi)容1.建立順序表,基本操作包括:初始

2、化,建立一個順序存儲的鏈表,輸出順序表,判斷是否為空,取表中第i個元素,定位函數(shù)(返回第一個與x相等的元素位置),插入,刪除。2.建立單鏈表,基本操作包括:初始化,建立一個鏈?zhǔn)酱鎯Φ逆湵恚敵鲰樞虮恚袛嗍欠駷榭?,取表中第i個元素,定位函數(shù)(返回第一個與x相等的元素位置),插入,刪除。3.假設(shè)有兩個按數(shù)據(jù)元素值非遞減有序排列的線性表A和B,均以順序表作為存儲結(jié)構(gòu)。編寫算法將A表和B表歸并成一個按元素值非遞增有序(允許值相同)排列的線性表C。(可以利用將B中元素插入A中,或新建C表)4.假設(shè)有兩個按數(shù)據(jù)元素

3、值非遞減有序排列的線性表A和B,均以單鏈表作為存儲結(jié)構(gòu)。編寫算法將A表和B表歸并成一個按元素值遞減有序(即非遞增有序,允許值相同)排列的線性表C。五、附源程序及算法程序流程圖1.源程序(1)源程序(實驗要求1和3)#include#include#include#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefstructarr{...int*elem;intlength;intlistsiz

4、e;}Sqlist;voidmenu();//菜單voidInitList(Sqlist*p);//創(chuàng)建線性表voidShowList(Sqlist*p);//輸出順序線性表voidListDelete(Sqlist*p,inti,int&e);//在順序線性表中刪除第i個元素,并用e返回其值voidListInsert(Sqlist*p);//在順序線性表中第i個元素前插入新元素evoidListEmpty(Sqlist*p);//判斷L是否為空表voidGetList(Sqlist*p,inti,in

5、t&e);//用e返回L中第i個數(shù)據(jù)元素的值voidListInsert(Sqlist*p,inti,inte);boolcompare(inta,intb);voidLocateElem(Sqlist*L,inte);//在順序線性表L中查找第1個值與e滿足compare()d元素的位序voidMergeList_L(Sqlist*La,Sqlist*Lb);//歸并voidmain(){SqlistLa;SqlistLb;intn,m,x;menu();scanf("%d",&n);while(n){

6、switch(n){case0:;break;case1:InitList(&La);break;case2:ListEmpty(&La);break;case3:printf("請輸入插入的位序:");scanf("%d",&m);printf("請出入要插入的數(shù):");scanf("%d",&x);ListInsert(&La,m,x);break;case4:printf("請輸入刪除元素的位序:");scanf("%d",&m);ListDelete(&La,m,x);...print

7、f("刪除的元素為:%d",x);break;case5:printf("請輸入要找的與線性表中相等的數(shù):");scanf("%d",&m);LocateElem(&La,m);break;case6:printf("請輸入查找的位序:");scanf("%d",&m);GetList(&La,m,x);printf("La中第%d個元素的值為%d",m,x);break;case7:ShowList(&La);break;case8:InitList(&Lb);break;case9:M

8、ergeList_L(&La,&Lb);printf("歸并成功!");break;}menu();scanf("%d",&n);}}/*菜單*/voidmenu(){printf("********************");printf("0.退出");printf("1.創(chuàng)建線性表La");printf("2.判斷La是否為空表");printf("3.插入元素(La)");pr

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