線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)

線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)

ID:17950318

大?。?4.50 KB

頁數(shù):8頁

時間:2018-09-11

線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)_第1頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)_第2頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)_第3頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)_第4頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)_第5頁
資源描述:

《線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、石家莊經(jīng)濟(jì)學(xué)院實(shí)驗(yàn)報告學(xué)院:專業(yè):計(jì)算機(jī)班級:學(xué)號:姓名:信息工程學(xué)院計(jì)算機(jī)實(shí)驗(yàn)中心制實(shí)驗(yàn)題目:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)和實(shí)現(xiàn)實(shí)驗(yàn)室:機(jī)房4設(shè)備編號:09完成日期:2012.04.09一、實(shí)驗(yàn)內(nèi)容1.會定義線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)。2.熟悉對單鏈表的一些基本操作(建表、插入、刪除等)和具體的函數(shù)定義。二、實(shí)驗(yàn)?zāi)康恼莆真準(zhǔn)酱鎯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)線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的表示及操作。具體實(shí)現(xiàn)要求:(2)完成對線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)

2、的表示和實(shí)現(xiàn)。(3)實(shí)現(xiàn)對單鏈表的創(chuàng)建。(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)系:R1={

4、TRUE,否則返回FALSE。ListLength(L)初始條件:線性表L已存在。操作結(jié)果:返回L中數(shù)據(jù)元素個數(shù)。GetElem(L,I,&e)初始條件:線性表L已存在,1<=i<=ListLength(L)。操作結(jié)果:用e返回L中第i個數(shù)據(jù)元素的值。LocateElem(L,e,compare())初始條件:線性表L已存在,compare()是數(shù)據(jù)元素判定的函數(shù)。操作結(jié)果:返回L中第1個與e滿足關(guān)系compare()的數(shù)據(jù)元素的位序。若這樣的數(shù)據(jù)元素不存在,則返回值為0。PriorElem(L,cur_e,&pre_e)初始條件:線性表L已存在。操作結(jié)果:

5、若cur_e是L的數(shù)據(jù)元素,且不是第一個,則用pre_e返回它的前驅(qū),否則操作失敗,pre_e無定義。NextElem(L,cur_e,&next_e)初始條件:線性表L已存在。操作結(jié)果:若cur_e是L的數(shù)據(jù)元素,且不是最后一個,則用pre_e返回它的后繼,否則操作失敗,pre_e無定義。ListInsert(&L,I,e)初始條件:線性表L已存在,1<=i<=ListLength(L)+1。操作結(jié)果:在L中第i個位置之前插入新的數(shù)據(jù)元素e,L的長度加1。ListDelete(&L,I,&e)初始條件:線性表L已存在且非空,1<=i<=ListLength

6、(L)。操作結(jié)果:刪除L中第i個數(shù)據(jù)元素,并用e返回其值,L的長度減1。ListTraverse(L,visit())初始條件:線性表L已存在。操作結(jié)果:依次對L的每個數(shù)據(jù)元素調(diào)用函數(shù)visit()。一旦visit()失敗,則操作失敗。}ADTList3.詳細(xì)設(shè)計(jì)(1)抽象數(shù)據(jù)類型線性表鏈?zhǔn)酱鎯Y(jié)構(gòu)的表示和實(shí)現(xiàn)c1.h:#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2ty

7、pedefintStatus;c2.h:typedefintElemType;typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*Linklist;;b02-1.h:intCreatelist_L(Linklist&L,intn){Linklistp;inti;L=(Linklist)malloc(sizeof(LNode));L->next=NULL;for(i=n;i>0;--i){p=(Linklist)malloc(sizeof(LNode));scanf("%d",&p->data);p

8、->next=L->next;L->next=p;}returnOK;}StatusGetElem_L(LinklistL,inti,ElemType&e){Linklistp;intj;p=L->next;j=1;while(p&&jnext;++j;}if(!p

9、

10、j>i)returnERROR;e=p->data;returnOK;}StatusListInsert_L(Linklist&L,inti,ElemTypee){Linklistp,s;intj;p=L;j=0;while(p&&jnext;++j;}

11、if(!p

12、

13、j>i-1)returnERROR;s

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