數(shù)據(jù)結構實驗報告三線性表的鏈式存儲

數(shù)據(jù)結構實驗報告三線性表的鏈式存儲

ID:35227097

大小:114.93 KB

頁數(shù):13頁

時間:2019-03-22

數(shù)據(jù)結構實驗報告三線性表的鏈式存儲_第1頁
數(shù)據(jù)結構實驗報告三線性表的鏈式存儲_第2頁
數(shù)據(jù)結構實驗報告三線性表的鏈式存儲_第3頁
數(shù)據(jù)結構實驗報告三線性表的鏈式存儲_第4頁
數(shù)據(jù)結構實驗報告三線性表的鏈式存儲_第5頁
資源描述:

《數(shù)據(jù)結構實驗報告三線性表的鏈式存儲》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。

1、實驗報告三線性表的鏈式存儲班級:2010XXX姓名:HoogLe學號:2010XXXX專業(yè):XXXX2858505197@qq.com一、實驗目的:(1)掌握單鏈表的基本操作的實現(xiàn)方法。(2)掌握循環(huán)單鏈表的基本操作實現(xiàn)。(3)掌握兩有序鏈表的歸并操作算法。二、實驗內容:(請采用模板類及模板函數(shù)實現(xiàn))1、線性表鏈式存儲結構及基本操作算法實現(xiàn)[實現(xiàn)提示](同時可參見教材p64-p73頁的ADT描述及算法實現(xiàn)及ppt)函數(shù)、類名稱等可自定義,部分變量請加上學號后3位。也可自行對類中所定義的操作進行擴展。所加載的庫函數(shù)或常量定義:#includeusingnamespac

2、estd;(1)單鏈表存儲結構類的定義:templateclassLinkList{public:LinkList();//初始化帶頭結點空單鏈表構造函數(shù)實現(xiàn)LinkList(Ta[],intn);//利用數(shù)組初始化帶頭結點的單鏈表構造函數(shù)實現(xiàn)~LinkList();intlength();//求單鏈表表長算法Tget(inti);//獲得單鏈表中第i個結點的值算法intlocate(Ttemp);voidinsert(inti,Ttemp);//在帶頭結點單鏈表的第i個位置前插入元素e算法TDelete(inti);//在帶頭結點單鏈表中刪除第i個元素算法voidpr

3、int();//遍歷單鏈表元素算法boolisEmpty();//判單鏈表表空算法voiddeleleAll();//刪除鏈表中所有結點算法(這里不是析構函數(shù),但功能相同)private:Node*head;};(2)初始化帶頭結點空單鏈表構造函數(shù)實現(xiàn)輸入:無前置條件:無動作:初始化一個帶頭結點的空鏈表輸出:無后置條件:頭指針指向頭結點。//初始化帶頭結點空單鏈表構造函數(shù)實現(xiàn)templateLinkList::LinkList(){head=newNode;head->next=NULL;}(3)利用數(shù)組初始化帶頭結點的單鏈表構造函數(shù)實現(xiàn)輸入:已存儲數(shù)

4、據(jù)的數(shù)組及數(shù)組中元素的個數(shù)前置條件:無動作:利用頭插或尾插法創(chuàng)建帶頭結點的單鏈表輸出:無后置條件:頭指針指向頭結點,且數(shù)組中的元素為鏈表中各結點的數(shù)據(jù)成員。//利用數(shù)組初始化帶頭結點的單鏈表構造函數(shù)實現(xiàn)templateLinkList::LinkList(Ta[],intn){head=newNode;head->next=NULL;for(inti=0;i*s=newNode;s->data=a[i];s->next=head->next;head->next=s;}}(4)在帶頭結點單鏈表的第i個位置前插入元素e算法輸

5、入:插入位置i,待插入元素e前置條件:i的值要合法動作:在帶頭結點的單鏈表中第i個位置之前插入元素e輸出:無后置條件:單鏈表中增加了一個結點//在帶頭結點單鏈表的第i個位置前插入元素e算法templatevoidLinkList::insert(inti,Ttemp){Node*p=head;intcount=0;while(p&&countnext;count++;}if(p==NULL)cout<<"i不合法,越界!";else{Node*s=newNode;s->data=temp;s->next=p->next;p-

6、>next=s;}}(5)在帶頭結點單鏈表中刪除第i個元素算法輸入:刪除第i個結點,待存放刪除結點值變量e前置條件:單鏈表不空,i的值要合法動作:在帶頭結點的單鏈表中刪除第i個結點,并返回該結點的值(由e傳出)。輸出:無后置條件:單鏈表中減少了一個結點//在帶頭結點單鏈表中刪除第i個元素算法templateTLinkList::Delete(inti){Node*p=head;intcount=0;while(p&&countnext;count++;}if(p==NULL)cout<<"i不合法,越界!";else{Node*s

7、=p->next;Tx=s->data;p->next=s->next;returnx;}}(6)遍歷單鏈表元素算法輸入:無前置條件:單鏈表不空動作:遍歷輸出單鏈表中的各元素。輸出:無后置條件:無//遍歷單鏈表元素算法templatevoidLinkList::print(){Node*p=head->next;while(p){cout<data<<"";p=p->next;}cout<

當前文檔最多預覽五頁,下載文檔查看全文

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

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