線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc

線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc

ID:55853874

大?。?75.00 KB

頁數(shù):20頁

時間:2020-03-14

線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc_第1頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc_第2頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc_第3頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc_第4頁
線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc_第5頁
資源描述:

《線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、石家莊經(jīng)濟(jì)學(xué)院實驗報告學(xué)院:信息工程學(xué)院專業(yè):計算機(jī)信息工程學(xué)院計算機(jī)實驗中心制《數(shù)據(jù)結(jié)構(gòu)》實驗報告姓名張文楚學(xué)號409109070515日期2011.4.17-8節(jié)實驗室計算機(jī)基礎(chǔ)實驗室指導(dǎo)教師張有華設(shè)備編號實驗題目實驗三線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)一實驗內(nèi)容1.進(jìn)一步熟悉C語言的上機(jī)環(huán)境,掌握C語言的基本結(jié)構(gòu)。2.會定義線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)。3.熟悉對單鏈表的一些基本操作(建表、插入、刪除等)和具體的函數(shù)定義。二實驗?zāi)康恼莆真準(zhǔn)酱鎯Y(jié)構(gòu)的特點,了解、掌握并實現(xiàn)單鏈表的常用的基本算法。三需求設(shè)計線性表抽象數(shù)據(jù)類型的描述及實現(xiàn)ADTList{數(shù)據(jù)對象:數(shù)據(jù)關(guān)系:基本操作:構(gòu)造一個空的線性表LInitL

2、ist();銷毀線性表LDestroyList();將L重置為空表ClearList();判斷L是否為空ListEmpty();求表長ListLength();查找元素LocateElem();求前驅(qū)PriorElem();求后繼NextElem();插入元素ListInsert();刪除元素ListDelete();元素調(diào)用visit()函數(shù)ListTraverse(L,visit())}ADTList;程序具體實現(xiàn)要求:1.創(chuàng)建一個線性表2.能輸出所有數(shù)據(jù)元素3.能求線性表長度4.能插入刪除元素5.能查找元素6.能求元素的前驅(qū)和后繼7.用戶操作界面如下:******************

3、*****************1.構(gòu)造線性表*2.插入元素*3.刪除元素*4.查找元素*5.顯示表長*6.求后繼*7.求前驅(qū)*8.輸出所有元素*0.結(jié)束程序運行***********************************請輸入您的選擇(0,1,...,8):四詳細(xì)設(shè)計步驟1:給出線性表的抽象數(shù)據(jù)類型的定義。ADTList{數(shù)據(jù)對象:數(shù)據(jù)關(guān)系:基本操作:InitList(&L);操作結(jié)果:構(gòu)造一個空的線性表L。DestroyList(&L)初始條件:線性表L已存在。操作結(jié)果:銷毀線性表L。ClearList(&L)初始條件:線性表L已存在。操作結(jié)果:將L重置為空表。ListEmpt

4、y(L)初始條件:線性表L已存在。操作結(jié)果:若L為空表,則返回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)初始條件:線性表

5、L已存在。操作結(jié)果:若cur_e是L的數(shù)據(jù)元素,且不是第一個,則用pre_e返回它的前驅(qū),否則操作失敗,pre_e無定義NextElem(L,cur_e,&next_e)初始條件:線性表L已存在。操作結(jié)果:若cur_e是L的數(shù)據(jù)元素,且不是最后一個,則用next_e返回它的后繼,否則操作失敗,next_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(L)。操作結(jié)果:刪除

6、L的第i個數(shù)據(jù)元素,并用e返回其值,L的長度減1。ListTraverse(L,visit())初始條件:線性表L已存在。操作結(jié)果:依次對L的每個數(shù)據(jù)元素調(diào)用函數(shù)visit()。一旦visit()失敗,則操作失敗。}ADTList;步驟2:用C語言給出線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)及相關(guān)操作的聲明。//單鏈表的存儲結(jié)構(gòu)typedefstructLNode{ElemTypedata;//結(jié)點數(shù)據(jù)域structLNode*next;}LNode,*LinkList;基本操作的聲明:StatusInitList_L(LinkList&L);StatusDestroyList_L(LinkList&L);S

7、tatusClearList_L(LinkList&L);intListEmpty_L(LinkListL);intListLength_L(LinkListL);StatusGetElem_L(LinkListL,inti,ElemType&e);intLocateElem_L(LinkListL,ElemTypee,Status(*compare)(ElemType,ElemType)

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