驗(yàn)證2:線性表子系統(tǒng)_第1頁(yè)
驗(yàn)證2:線性表子系統(tǒng)_第2頁(yè)
驗(yàn)證2:線性表子系統(tǒng)_第3頁(yè)
驗(yàn)證2:線性表子系統(tǒng)_第4頁(yè)
驗(yàn)證2:線性表子系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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、1實(shí)驗(yàn)內(nèi)容或題目(1) 用結(jié)構(gòu)體描述一個(gè)字符型的單向鏈表。(2) 創(chuàng)建線性表;在線性表中插入元素、刪除元素;顯示線性表中所有元素的基本操作。(3) 用if語(yǔ)句設(shè)計(jì)一個(gè)選擇式菜單。線性表子系統(tǒng)*1建表*2插入*3刪除*4顯示*5查找*6求表長(zhǎng)*0返回*2、實(shí)驗(yàn)?zāi)康呐c要求(1) 掌握線性表的特點(diǎn);(2) 掌握線性表順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的基本運(yùn)算;(3) 掌握線性表的創(chuàng)建,插入,刪除和顯示線性表中元素的基本操作。3、實(shí)驗(yàn)步驟與源程序?qū)嶒?yàn)步驟首先構(gòu)建出各個(gè)函數(shù)在主調(diào)函數(shù)main()函數(shù)中的作用以及返回值:CreatList()函數(shù)是用來(lái)建立線性表,In sList()函數(shù)用來(lái)插入結(jié)點(diǎn)元素,Del

2、List()函數(shù)用來(lái)刪除結(jié)點(diǎn)元素,ShowList()函數(shù)用來(lái)顯示線性表,SearchList()函數(shù)用來(lái)查找線性表元素,主函數(shù)main()用于菜單界面,方便操作。之后便是具體實(shí)現(xiàn)每個(gè)函數(shù)功能的細(xì)節(jié)。程序編好后經(jīng)過(guò)不斷地差錯(cuò)改錯(cuò),最后得到正確的源程序。程序源代碼#in clude<>#in clude<>typedef struct linknodechar data;struct linknode *n ext;li nno de;linnode *head;int n;void CreateList()linnode *p,*s;int乙charx;n=0;z=1;

3、head=(li nnode *)malloc(sizeof(li nno de);p=head;printf("ntt請(qǐng)逐個(gè)輸入節(jié)點(diǎn),以x'為結(jié)束標(biāo)記!n");prin tf("n ”);while(z)prin tf("tt輸入一個(gè)字符數(shù)據(jù),并按回車: ");scan f("%c", &x);getchar();if(x!='x')s=(l innode *)malloc(sizeof(li nno de);n+;s->data=x;p_>n ext=s;s-> next

4、=NULL;p=s;else z=0;void In sList(i nt i,char x)linnode *s,*p;int j;p=head;j=10;while(p!=NULL&&j<i)j+;p=p->n ext;if(p!=NULL)s=(l innode *)malloc(sizeof(li nno de);s->data=x;s->n ext=p->n ext;p_>n ext=s;n+;n");else prin tf("ntt線性表為空或插入位置超出!void DelList(char x)linnod

5、e *p,*q;if(head=NULL)prin tf("ntt鏈表下溢!”);return;if(head-> next=NULL)prin tf("ntt線性表已為空!”);return;q=head;p=head->n ext;while(p!=NULL&&p->data!=x)q=p;p=p->n ext;if(p!=NULL)q_>n ext=p->n ext;free(p);n-;printf("ntt結(jié)點(diǎn) c已經(jīng)被刪除!",x);else prin tf("ntt抱歉!沒(méi)有找到

6、您要?jiǎng)h除的結(jié)點(diǎn)。");void ShowList()linnode *p=head;prin tf("ntt顯示線性表的所有元素:”);if(head-> next=NULL|p=NULL)prin tf("ntt鏈表為空! ”);elseprin tf("ntt");while(p-> next!=NULL)prin tf("%5c",p-> next->data);p=p->n ext;void SearchList(char x)linnode *p;int i=1;if(head=NUL

7、L)prin tf("ntt鏈表下溢!”);return;if(head-> next=NULL)prin tf("ntt線性表為空,沒(méi)有任何節(jié)點(diǎn)!”);return;p=head->n ext;while(p!=NULL&&p->data!=x)p=p->n ext;i+;if(p!=NULL)”,i,x);printf("ntt在表的第d位上找到值為。的結(jié)點(diǎn)!elseprin tf("ntt抱歉!未找到值為。的結(jié)點(diǎn)! ",x);void mai n()int choice,i,j;char x;hea

8、d=NULL;j=1;while(j) prin tf("n");prin tf("ntt線性表子系統(tǒng)");printf("ntt*");prin tf("ntt*1建表*"prin tf("ntt*2插入*"prin tf("ntt*3刪除*"prin tf("ntt*4顯示*"prin tf("ntt*5查找*"prin tf("ntt*6求表長(zhǎng)*"prin tf("ntt*0返回*"prin

9、 tf("ntt*);prin tf("ntt請(qǐng)選擇菜單號(hào)(0-6 ):");sea nf("%d",&choice);getchar();if(choice=1)CreateList();elseif(choice=2)i,x):"); printf("ntt請(qǐng)輸入插入的位置i和插入的數(shù)據(jù)(輸入格式:scan f("%d,%c",&i,& x);In sList(i,x);elseif(choice=3) prin tf("ntt請(qǐng)輸入要?jiǎng)h除的數(shù)值:");sc

10、an f("%c", &x);DelList(x);elseif(choice=4)if(head=NULL)prin tf("ntt請(qǐng)先建立線性表!");elseShowList();else if(choice=5) prin tf("ntt請(qǐng)輸入要查找的兀素:");scan f("%c", &x);SearchList(x); elseif(choice=6)prin tf("ntt線性表長(zhǎng)度為:%d", n);else if(choice=0) j=0;elseprin

11、tf("ntt輸入錯(cuò)誤!請(qǐng)重新輸入!");4、測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果圖一建立一個(gè)線性表圖二線性表數(shù)據(jù)的插入圖三線性表數(shù)據(jù)的刪除圖四線性表數(shù)據(jù)的查找圖五求表長(zhǎng)圖六返回5、結(jié)果分析與實(shí)驗(yàn)體會(huì)在學(xué)過(guò)本節(jié)有關(guān)線性表的兩種存儲(chǔ)結(jié)構(gòu)的基礎(chǔ)操作后,做這個(gè)驗(yàn)證性的實(shí)驗(yàn)的焦 點(diǎn)便在于驗(yàn)證各種操作的正確與否,在對(duì)照書上的線性表基本運(yùn)算的實(shí)現(xiàn)的算法 思路和注意事項(xiàng),結(jié)合老師上課強(qiáng)調(diào)的每種算法的注意重點(diǎn),找出了原始程序的 幾個(gè)主要的錯(cuò)誤點(diǎn):1某些地方運(yùn)用了 C+語(yǔ)言而不是C,如:每個(gè)函數(shù)在為申請(qǐng)一塊LinkNode類型的 存儲(chǔ)單元的操作,并將其地址復(fù)制給變量時(shí):p=new LinkNode;而在C環(huán)境中應(yīng)為: p=( LinkList *)mallo

溫馨提示

  • 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)論