線性表的順序存儲結(jié)構(gòu)和實(shí)現(xiàn)

線性表的順序存儲結(jié)構(gòu)和實(shí)現(xiàn)

ID:35446043

大?。?12.36 KB

頁數(shù):10頁

時間:2019-03-24

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

《線性表的順序存儲結(jié)構(gòu)和實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、石家莊經(jīng)濟(jì)學(xué)院實(shí)驗(yàn)報告學(xué)院:專業(yè):班級:學(xué)號:姓名:信息工程學(xué)院計(jì)算機(jī)實(shí)驗(yàn)中心制實(shí)驗(yàn)題目:線性表的順序存儲結(jié)構(gòu)和實(shí)現(xiàn)實(shí)驗(yàn)室:機(jī)房4設(shè)備編號:10完成日期:2012年03月25號一、實(shí)驗(yàn)內(nèi)容1.熟悉C語言的上機(jī)壞境,掌握C語言的基本結(jié)構(gòu)。2.會定義線性表的順序存儲結(jié)構(gòu)。3.熟悉對順序表的一些基本操作(建表、插入、刪除等)和具體的函數(shù)定義。二、實(shí)驗(yàn)?zāi)康恼莆枕樞虼鎯Y(jié)構(gòu)的特點(diǎn),了解、掌握并實(shí)現(xiàn)順序表的常用的基本算法。三、實(shí)驗(yàn)的內(nèi)容及完成情況1.需求分析(1)線性表的抽象數(shù)據(jù)類型ADT的描述及實(shí)現(xiàn)。本實(shí)驗(yàn)實(shí)現(xiàn)使用VisualC++6.0實(shí)現(xiàn)線性

2、表順序存儲結(jié)構(gòu)的表示及操作。具體實(shí)現(xiàn)要求:(2)完成對線性表順序存儲結(jié)構(gòu)的表示和實(shí)現(xiàn)。(3)實(shí)現(xiàn)對線性表的建立和初始化。(4)實(shí)現(xiàn)對線性表插入和刪除部分元素。2.概要設(shè)計(jì)抽象數(shù)據(jù)類型線性表的定義:ADTLIST{抽象對象:D={ai

3、ai<-Elemset,i=1,2,...,n,n>=0}數(shù)據(jù)關(guān)系:Rl={

4、已存在。操作結(jié)果:將L重置為空表。ListEmpty(L)初始條件:線性表L已存在。操作結(jié)果:若L為空表,則返回TRUE,否則返回FALSEoListLength(L)初始條件:線性表L已存在。操作結(jié)果:返回L中數(shù)據(jù)元素個數(shù)。GetElem(L,I,&e)初始條件:線性表L已存在,lv二iv二ListLength(L)。操作結(jié)果:用e返回L中第i個數(shù)據(jù)元素的值。LocateElem(L,e,compare())初始條件:線性表L已存在,compareO是數(shù)據(jù)元素判定的函數(shù)。操作結(jié)果:返回L屮第1個與e滿足關(guān)系compare()的數(shù)據(jù)元素

5、的位序。若這樣的數(shù)據(jù)元素不存在,則返回值為0。PriorElem(L,cur_e,&pre_e)初始條件:線性表L已存在。操作結(jié)果:若cuje是L的數(shù)據(jù)元素,且不是第一個,則用pre_e返回它的前驅(qū),否則操作失敗,pre_e無定義。NextElem(L,cur_e,&next_e)初始條件:線性表L已存在。操作結(jié)果:若cuje是L的數(shù)據(jù)元素,且不是最后一個,則用pre_e返回它的后繼,否則操作失敗,pre_e無定義。Listlnsert(&L,I,e)初始條件:線性表L己存在,lv二iv二ListLeng(h(L)+l。操作結(jié)果:在L屮

6、第i個位置Z前插入新的數(shù)據(jù)元素c,L的長度加1。ListDelete(&L,I,&e)初始條件:線性表L已存在且非空,lv=iv=ListLength(L)。操作結(jié)果:刪除L中第i個數(shù)據(jù)元素,并用e返回其值,L的長度減1。ListTraverse(L,visit())初始條件:線性表L己存在。操作結(jié)果:依次對L的每個數(shù)據(jù)元素調(diào)用函數(shù)visit()o一旦visit()失敗,則操作失敗。}ADTList3.詳細(xì)設(shè)計(jì)(1)抽象數(shù)據(jù)類型線性表順序存儲結(jié)構(gòu)的表示和實(shí)現(xiàn)Cl.h#include#include#

7、defineTRUE1#defineFALSE0#deflneOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2typedefintStatus;c2-l.h#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefintEleml^pe;typedefstruct{ElemType*elem;intlength;intlistsize;}Sqlist;B02-l.hStatusInitList_Sq(Sqlist&L)L.elem=(

8、Elemlpe*)malloc(LIST_INIT_SIZE*sizeof(ElemTjpe));if(!L-elem)exit(OVERFLOW);L>length=O;L.listsize=LIST_INIT_SIZE;returnOK;}StatusListlength(SqlistL){returnL.length;}StatusGetElem(SqlistL,inti,ElcmType&e){if(i

9、

10、i>L.length)returnERROR;e=L.elem[i-l];returnOK;}StatusListIn

11、sert_Sq(Sqlist&L,inti,ElemTypee){Eleml^pe*nevbase,*p,*q;if(i

12、

13、i>L.length+l)returnERROR;if(L.length>=

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