線性表的順序結(jié)構(gòu)實(shí)驗(yàn)

線性表的順序結(jié)構(gòu)實(shí)驗(yàn)

ID:28473743

大小:80.00 KB

頁數(shù):5頁

時(shí)間:2018-12-10

線性表的順序結(jié)構(gòu)實(shí)驗(yàn)_第1頁
線性表的順序結(jié)構(gòu)實(shí)驗(yàn)_第2頁
線性表的順序結(jié)構(gòu)實(shí)驗(yàn)_第3頁
線性表的順序結(jié)構(gòu)實(shí)驗(yàn)_第4頁
線性表的順序結(jié)構(gòu)實(shí)驗(yàn)_第5頁
資源描述:

《線性表的順序結(jié)構(gòu)實(shí)驗(yàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、計(jì)科2012級《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告二學(xué)號:2012091165姓名:劉意天實(shí)驗(yàn)名稱線性表的順序存儲結(jié)構(gòu)完成時(shí)間20'4'3-14實(shí)驗(yàn)?zāi)康?.掌握線性表的概念,掌握順序表的概念及其各種運(yùn)算的原理。2.通過對線性表的查找、插入和刪除算法的實(shí)現(xiàn)以加深對線性表的順序存儲結(jié)構(gòu)的理解,為加強(qiáng)線性表在實(shí)際屮的應(yīng)用打下基礎(chǔ)。3.用C語言實(shí)現(xiàn)并上機(jī)調(diào)試通過,認(rèn)真填寫實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)內(nèi)容1.已知某線性表(al,a2,……an)=(1,2,……,n),利用C語言編程完成以下操作:(1)定義函數(shù)initsq_L():創(chuàng)建該線性表的順序存儲結(jié)構(gòu);(2)定義函數(shù)insertsq_

2、L():在第I個(gè)數(shù)據(jù)元素前插入X,I和X均用鍵盤輸入;(3)定義函數(shù)deletesq_L():將原順序表中的Ai刪除,I由鍵盤輸A;(4)定義函數(shù)printsq_L():輸出線性表的內(nèi)容。提示:該線性表的數(shù)據(jù)可以是一組學(xué)生的成績。實(shí)驗(yàn)要求1.掌握線性表的概念,掌握順序表的概念及其各種運(yùn)算的原理。2.通過對線性表的查找、插入和刪除算法的實(shí)現(xiàn)以加深對線性表的順序存儲結(jié)構(gòu)的理解,為加強(qiáng)線性表在實(shí)際中的應(yīng)用打下基礎(chǔ)。3.用C語言實(shí)現(xiàn)并上機(jī)調(diào)試通過,認(rèn)真填寫實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)過程://線性順序表#include#include

3、#defineLIST_INIT_SIZE100//線性表存儲空間的初始分配#defineLISTINCRESEMENT10//線性表存儲空間的分配增量#defineOK1#defineERROR0#defineOVERFLOW-2typedefintelemType;//元素類型typedefstruct{elemType*List;//線性表首地址intlength;//當(dāng)前的長度intlistsize;//當(dāng)前分配的存儲界量,以elemType為單位}SqList;AgainMalloc(SqList*L)/冷間不夠吋熏新分配'今:間的函數(shù){

4、elemType*newbase;//分配一個(gè)臨時(shí)基址newbase=(elemType*)realloc(L->List,(L->list$ize+LISTINCRESEMENT)*sizeof(elemType));if(!newbase)exit(OVERFLOW);L-〉List=newbase;L->listsize+=LISTINCRESEMENT;}//初始化一個(gè)空的線性表intInitList_Sq(SqList*L){L->List=(elemType*)malloc(LIST_INIT_SIZE*sizeof(elemType)

5、);if(!L-〉List)exit(OVERFLOW);//overflowL-〉length=O;//初始表為空表L-〉listsize=LIST_INIT_SIZE;//初始表的存儲容量,力LIST_INIT_SIZE個(gè)elemType單位returnOK;}//求表屮元素的個(gè)數(shù)intListLength(SqList*L){returnL->length;}//遍歷順序表voidTraverseList(SqList*L){inti;for(i=0;i

6、f("");}return;}//向表頭插入元素voidInsertFirst(SqList*L,elemTypee){inti;if(L->length>=L->listsize)AgainMalloc(L);for(i=L-〉length-1;i>=0;i~)L->List[i+l]=L->List[i];L->List[0]=e;L->length++;return;}//向表犀插入元素voidInsertLast(SqList*L,elemTypee){if(L->length>=L->listsize)AgainMalloc(L);L->

7、List[L->lengthJ=e;L-〉length++;return;}//在表屮第I個(gè)位置之前插入新元素eintInsert一Sq(SqList*L,elemTypee,intI){inti;if(I

8、

9、I>L->length+l)returnERROR;if(L-〉length〉=L-〉listsize)//存儲空間不夠,要分配新的空間AgainMalloc(L);for(i=L->length-1;i>=I-l;i—)L->Listfi+ll=L->Listfil;L-〉List[I-l]=e;L-〉length++;returnOK

10、;}//查找給出元素的位置,若存在,給出位置(從1開始算):若不存在,返回-1intSearch(SqList*L,ele

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。