實(shí)驗(yàn)三+線性表的鏈?zhǔn)酱鎯?chǔ)_第1頁(yè)
實(shí)驗(yàn)三+線性表的鏈?zhǔn)酱鎯?chǔ)_第2頁(yè)
實(shí)驗(yàn)三+線性表的鏈?zhǔn)酱鎯?chǔ)_第3頁(yè)
實(shí)驗(yàn)三+線性表的鏈?zhǔn)酱鎯?chǔ)_第4頁(yè)
實(shí)驗(yàn)三+線性表的鏈?zhǔn)酱鎯?chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三 線性表的鏈?zhǔn)酱鎯?chǔ)【實(shí)驗(yàn)?zāi)康摹?. 掌握基本線性鏈?zhǔn)酱鎯?chǔ)的類(lèi)型定義及C語(yǔ)言實(shí)現(xiàn);2. 掌握基本線性表在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的各種基本操作?!緦?shí)驗(yàn)要求】1. 學(xué)會(huì)定義一個(gè)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)體 LNode;2. 學(xué)會(huì)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的初始化、清空、求線性表的長(zhǎng)度、遍歷、改值、 插入(頭插、尾插、固定位置插入)、刪除(刪頭、刪尾、固定位置刪除) ;3. 學(xué)會(huì)用 main 函數(shù)調(diào)用定義的各個(gè)函數(shù);【實(shí)驗(yàn)環(huán)境】VC+運(yùn)行的環(huán)境【實(shí)驗(yàn)步驟及代碼 】一、創(chuàng)建VC工程環(huán)境二、編寫(xiě)、調(diào)試程序/一、包含庫(kù)文件和類(lèi)型定義#include #include typedef charElemType;/二、定義結(jié)構(gòu)typedef

2、 struct LNodeElemType data;struct LNode *next;LNode,* LinkList ;/三、基本操作函數(shù)的定義/(1)創(chuàng)建一個(gè)帶頭結(jié)點(diǎn)的鏈表LinkList CreateList_L(int n)逆序輸入如n個(gè)元素的值,建立一個(gè)帶表頭結(jié)點(diǎn)的單鏈表LinkList L=( LinkList )malloc(sizeof(LNode);L-next=NULL;char ch;for(int i=n;i0;-i)LinkList p=(LinkList )malloc(sizeof(LNode); scanf(%c,&ch); p-data=ch;p-nex

3、t=L-next; L-next=p;return L; /(2)鏈表的遍歷函數(shù) void travel_L( LinkList s)LinkList p=s-next;while(p) printf(%c,p-data); p=p-next;printf(n);返回鏈表L的第i個(gè)元素的值ElemType GetElem_L(LinkList L,int i)LNode *p=L-next;int j=1;while (p&jnext; +j;if (!p|ji) printf(i 越界! );exit(1);else return p-data;(4)鏈表的i個(gè)位置插入一個(gè)值為e的節(jié)點(diǎn)voi

4、d ListInsert_L(LinkList L,int i, ElemType e)LinkList p=L;int j=0;while (p&jnext; +j;if (!p|ji-1) exit(1);elseLNode *s=(LinkList )malloc(sizeof(LNode); s-data=e;s-next=p-next;p-next=s;return;/(5)鏈表中刪除第 i 個(gè)元素void ListDelete_L( LinkList L,int i)LNode *p=L;int j=0;while (p-next&jnext;+j;if(!(p-next)|ji-

5、1) exit(1);LNode *q=p-next;p-next=q-next;free(q);return;/(6)刪除鏈表的第一個(gè)節(jié)點(diǎn)void ListDeleteFist_L( LinkList L)ListDelete_L(L,1);/(7)求一個(gè)鏈表的長(zhǎng)度int ListLength_L( LinkList L)LNode *p=L;int j=0;while (p-next) p=p-next;+j;return j;(8)在一個(gè)鏈表的尾部查入一個(gè)值為e的節(jié)點(diǎn)void ListInsertLast_L( LinkList L,ElemType e) ListInsert_L(L,

6、ListLength_L(L)+1,e);/(9)刪除鏈表的尾節(jié)點(diǎn)void ListDeleteLast_L(LinkList L) ListDelete_L(L,ListLength_L(L);(10)把鏈表的第i個(gè)值改為evoid Listchange(LinkList L,int i, ElemType e)LNode *p=L;int j=0;while (p-next&jnext;+j;if(!(p-next)|ji) exit(1);p-data=e;return;(11)鏈表中找值為e的節(jié)點(diǎn)的位置int ListFind( LinkList L, ElemType e)LNode

7、 *p=L;int j=0;while (p-next&(p-data!=e) p=p-next;+j;if(!(p-next)|jListLength_L(L) exit(1);elsereturn j;/(12)清空一個(gè)鏈表void ListClear_L(LinkList L)while (L-next) ListDeleteLast_L(L);/四、主調(diào)函數(shù)void main()LinkList L=CreateList_L(6); travel_L(L);printf(鏈表的第2個(gè)元素是:); printf(%cn,GetElem_L(L,2);printf(鏈表的第2個(gè)位置插入值為

8、w后的鏈表:);ListInsert_L(L,2,w);travel_L(L);printf( 刪除鏈表的第 2個(gè)位置上的節(jié)點(diǎn)后的鏈表: ); ListDelete_L(L,2);travel_L(L);printf( 刪除鏈表的頭節(jié)點(diǎn)后的鏈表: );ListDeleteFist_L(L);travel_L(L);printf(n);printf( 當(dāng)前鏈表的長(zhǎng)度為: ); printf(%d,ListLength_L(L); printf(n);printf(鏈表的尾部插入z后:);ListInsertLast_L(L,z);travel_L(L);printf(n);printf( 刪除鏈

9、表的尾節(jié)點(diǎn)后: );ListDeleteLast_L(L);travel_L(L);printf(n);printf(把第二個(gè)節(jié)點(diǎn)的值改為丫后:);Listchange(L,2,Y);travel_L(L);printf(n);printf(找鏈表中值為丫的位置:); prin tf(%d丄 istFi nd(L,Y);printf(n);printf(清空鏈表:);ListClear_L(L);travel_L(L);printf(n);【實(shí)驗(yàn)結(jié)果】輸入abcdef六個(gè)元素時(shí)的運(yùn)行結(jié)果:CA *E:教學(xué)數(shù)據(jù)結(jié)構(gòu)3實(shí)鯊程序LinkListDe可Xabcdeffedcba勺寰2個(gè)元案是:e勺第2個(gè)位置插入值為討后的鏈表:fw

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論