線性表應(yīng)用舉例PPT課件_第1頁
線性表應(yīng)用舉例PPT課件_第2頁
線性表應(yīng)用舉例PPT課件_第3頁
線性表應(yīng)用舉例PPT課件_第4頁
線性表應(yīng)用舉例PPT課件_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)1線性表應(yīng)用舉例按正位序創(chuàng)建一個帶表頭結(jié)點的單鏈表1 1、預(yù)定義常量與存儲結(jié)構(gòu)描述、預(yù)定義常量與存儲結(jié)構(gòu)描述 #define null 0 /預(yù)定義常量 typedef struct lnode char data; struct lnode *next; lnode,*linklist; /存儲結(jié)構(gòu)描述第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)22 2、定義在存儲結(jié)構(gòu)上的操作、定義在存儲結(jié)構(gòu)上的操作void create_l_zx(linklist l) int i,n; linklist q,p; pri

2、ntf(input n:); scanf(%d%*c,&n); q=l; for(i=0;idata); p-next=null; q-next=p;q=p; 第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)3void print_l(linklist l) linklist p; printf(the list is:n); p=l-next; while(p) printf(%3c,p-data); p=p-next; printf(n);第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)43 3、測試程序、測試程序main() linklist l;

3、 clrscr(); l=(linklist)malloc(sizeof(lnode); l-next=null; create_l_zx(l); print_l(l);第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)5按正位序創(chuàng)建一個不帶表頭結(jié)點的單鏈表1 1、創(chuàng)建、創(chuàng)建p=(linklist)malloc(sizeof(lnode); /第一個結(jié)點第一個結(jié)點scanf(%c,&p-data);l=p;q=p;for(i=2;idata); p-next=null; q-next=p;q=p; 2 2、打印、打印 p=l;3 3、測試、測試 l=null;第第2 2章

4、章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)6在單鏈表中刪除所有值為在單鏈表中刪除所有值為x x的結(jié)點的結(jié)點main() int x,i,n; linklist l,p,q; clrscr(); l=(linklist)malloc(sizeof(lnode); /建立空鏈表建立空鏈表 l-next=null; printf(input n:); scanf(%d,&n); for(i=n;i0;i-) /按逆位序創(chuàng)建單鏈表按逆位序創(chuàng)建單鏈表 p=(linklist)malloc(sizeof(lnode); scanf(%d,&p-data); p-next=l-ne

5、xt; l-next=p; 第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)7p=l-next; /打印單鏈表打印單鏈表 while(p) printf(%4d,p-data); p=p-next; printf(ninput x:); scanf(%d,&x); p=l; while(p-next) if(p-next-data=x) q=p-next; p-next=q-next; free(q); else p=p-next;p=l-next; while(p) printf(%4d,p-data); p=p-next; 第第2 2章章 線性表線性表 d.s. d

6、.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)8建立一個線性鏈表建立一個線性鏈表head=3head=3,5 5,7 7,9 9,其元素值依次為從鍵盤輸入正整數(shù)其元素值依次為從鍵盤輸入正整數(shù)(以輸入一個非正整數(shù)為結(jié)束);在(以輸入一個非正整數(shù)為結(jié)束);在線性表中值為線性表中值為x x的元素前插入一個值為的元素前插入一個值為y y的數(shù)據(jù)元素。若值為的數(shù)據(jù)元素。若值為x x的結(jié)點不存在,的結(jié)點不存在,則將則將y y插在表尾。插在表尾。第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)9 1 1、建立頭文件:、建立頭文件:linkh.hlinkh.h #define null 0 /*預(yù)定義常量*/ type

7、def int elemtype; typedef struct lnode elemtpye data; struct lnode *next; lnode,*linklist; /*存儲結(jié)構(gòu)描述*/第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)10/ /* *定義在存儲結(jié)構(gòu)上的操作定義在存儲結(jié)構(gòu)上的操作* */ /void create_l(linklist l) linklist p,q; elemtype d; q=l; printf(input datas in the list(end of 0):); scanf(%d,&d); while(d0) p=

8、(linklist)malloc(sizeof(lnode); p-data=d; p-next=null; q-next=p; q=p; scanf(%d,&d); 第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)11void print_l(linklist l) linklist p; printf(the list is:n); p=l-next; while(p) printf(%4d,p-data); p=p-next; printf(n);第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)12void insert_x_y(linklist l) elemtype x,y; linklist s,q,p; printf(ninput x,y:); scanf(%d,%d,&x,&y); s=(linklist)malloc(sizeof(lnode); s-data=y; q=l; p=q-next; while(p!=null)&(p-data!=x) q=p; p=p-next; s-next=p; q-next=s;第第2 2章章 線性表線性表 d.s. d.s.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)132 2、建立源程序文件測試:、建立源程序文件測試:ceshi.cceshi.c #include lin

溫馨提示

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

評論

0/150

提交評論