1實(shí)驗(yàn)-順序表順序存儲(chǔ)

1實(shí)驗(yàn)-順序表順序存儲(chǔ)

ID:42465756

大?。?8.50 KB

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

時(shí)間:2019-09-15

1實(shí)驗(yàn)-順序表順序存儲(chǔ)_第1頁(yè)
1實(shí)驗(yàn)-順序表順序存儲(chǔ)_第2頁(yè)
1實(shí)驗(yàn)-順序表順序存儲(chǔ)_第3頁(yè)
1實(shí)驗(yàn)-順序表順序存儲(chǔ)_第4頁(yè)
1實(shí)驗(yàn)-順序表順序存儲(chǔ)_第5頁(yè)
資源描述:

《1實(shí)驗(yàn)-順序表順序存儲(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、實(shí)驗(yàn)一線性表(順序結(jié)構(gòu))—、實(shí)驗(yàn)?zāi)康?.掌握實(shí)現(xiàn)線性表的基本操作方法;2.掌握線性表的基本操作:建表、插入、刪除、輸出等運(yù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)容線性表的基本操作:建表、插入、刪除、輸出等運(yùn)算在順序存儲(chǔ)結(jié)構(gòu)的實(shí)現(xiàn);三、實(shí)驗(yàn)代碼/咅00:基本信息定義*/#include"stdio.h"#include"malloc.h"#defineSUCCESS1#defineFAILURE0#dcfinc

2、null0#definemaxsize100typedefintdatatype;typedefstruct/*定義線性表(順序結(jié)構(gòu))數(shù)據(jù)類型*/{datatypedatafmaxsize];intlast;[sequenlist;intn;/*定義功能選擇菜單函數(shù)引voidprint(){piintf(”???■線性表(順序結(jié)構(gòu))的基本操作???An”);printf(H開(kāi)始“);)/*打印線性表(順序結(jié)構(gòu))*/voidprintout(sequenlist*L){inti;for(i=1;i<=L->last;i++)printfC'[%d]”

3、,i);printf(Hn);for(i=l;i<=L->last;i++)printf(u%6du,L->data[i]);printf(Hn);/*01線性表(順序結(jié)構(gòu))的初始化*/intlnitList(sequenlist*L){L=(scqucnlist*)malloc(sizeof(sequenlist));if(!L){returnFAILURE;elseL->last=-1;returnSUCCESS;/*02創(chuàng)建線性表(順序結(jié)構(gòu))*/voidcreatlist(sequenlist*L){inti;inttmp;printfC

4、1請(qǐng)輸入線性表中數(shù)據(jù)的個(gè)數(shù):”);scanf(”%d",&n);for(i=1;i<=n;i++){printf("data[%dj=",i);fflush(stdin);/*清除掉鍵盤緩沖區(qū)*/scanf("%d”,&tmp);L->data[i]=tmp;}L->last=n;}/*03在第i個(gè)結(jié)點(diǎn)前插入元素x(note:元素從1始計(jì)數(shù))*/intinscrt(scqucnlist*L,datatypex,inti){intj;訐(L->last==maxsize)/*如果原線性表(順序結(jié)構(gòu))己經(jīng)滿了*/{printf(”線性表(順序結(jié)構(gòu))已滿

5、“);return0;}elseif((i

6、

7、(i>L->last+1))/*如果輸入的i值超岀范圍引{printfC*錯(cuò)了,請(qǐng)輸入正確的丫值“);return0;else{for(j=L->last;j>=i;j-)/*從笫i個(gè)元素起,每個(gè)元素后移一位*/L->data[j+l]=L->data[jJ;L->data[i]=x;L->last=L->last+1;}return(l);}/*04刪除第i個(gè)結(jié)點(diǎn),note:元素從0始計(jì)數(shù)*/intdellist(sequenlist*L,inti){if((i

8、

9、(i>L->last))

10、/*如果輸入的i值超出范圍*/{printf(“錯(cuò)了,請(qǐng)輸入正確的丫值”);return0;}else{for(;ilast;i++)/*從第i+1個(gè)元素起,每個(gè)元素前移一位*/L->data[i]=L->data[i+1J;L?>last=L?>last?1;rcturn(l);}}/*05求線性表(順序結(jié)構(gòu))的長(zhǎng)度勺intCountList(sequenlist*L){returnL->last;}/*06清空線性表(順序結(jié)構(gòu))*/voidClearList(sequenlist*L){L->last=-1;}/*07判斷線性表(順序結(jié)

11、構(gòu))是否為空引/*boolListIsEmpty(sequenlist*L){returnL->last==-1;}*//*08按位直取線性表(順序結(jié)構(gòu))屮元索*/datatypeGetElem(sequenlist*L,intpos){if((L->last==-1)

12、

13、(pos<1)

14、

15、(pos>L->last))/*表為空或者位置不對(duì)*/{printf(n線性表為空,或者輸入的位置有錯(cuò)!”);returnFAILURE;returnL->data[pos];/咅09按值查找的定位函數(shù)犁intLocateList(sequenlist*L,data

16、typevalue){inti=0;if(L->last==-1)/*表為空*/{printf

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(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)系客服處理。