實(shí)驗(yàn)一線性表的順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告頁_第1頁
實(shí)驗(yàn)一線性表的順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告頁_第2頁
實(shí)驗(yàn)一線性表的順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告頁_第3頁
實(shí)驗(yàn)一線性表的順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告頁_第4頁
實(shí)驗(yàn)一線性表的順序存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告頁_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、攀 枝 花 學(xué) 院 實(shí) 驗(yàn) 報(bào) 告實(shí)驗(yàn)課程 數(shù)據(jù)結(jié)構(gòu) 實(shí)驗(yàn)項(xiàng)目:線性表的順序存儲(chǔ) 實(shí)驗(yàn)日期:系: 班級(jí): 姓名: 學(xué)號(hào): 同組人: 指導(dǎo)老師: 成績: 實(shí)驗(yàn)?zāi)康模?1、掌握線性表的順序存儲(chǔ)結(jié)構(gòu)。 2、能熟練地利用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)線性表的基本操作。 3、能熟練地掌握順序存儲(chǔ)結(jié)構(gòu)中算法的實(shí)現(xiàn)。 實(shí)驗(yàn)儀器設(shè)備、藥品、器材 1、硬件環(huán)境微型計(jì)算機(jī)一臺(tái)2、軟件環(huán)境Windows98/2000/XP/win7操作系統(tǒng)、調(diào)試程序VC 6.0. 實(shí)驗(yàn)原理(裝置)無 實(shí)驗(yàn)步驟(內(nèi)容)1、 建立含有若干個(gè)元素的順序表,并將結(jié)果在屏幕上輸出。 1、順序表源代碼如下創(chuàng)建了順序表的頭文件SeqList.h主要代碼如下:

2、5 / 5文檔可自由編輯打印void initList(SeqList& L)L.data=new DataTypeinitSize;if (! L.data)cerr<<"存儲(chǔ)錯(cuò)誤分配!n"exit(1);L.maxSize=initSize;L.n=0;void Creat(SeqList& L)/獲取線性表的值int i,n; initList(L);printf("請(qǐng)輸入線性表的元素個(gè)數(shù):");scanf("%d",&n);printf("請(qǐng)輸入%d個(gè)順序表元素:n",n

3、);for(i=0;i<n;i+)scanf("%d",&L.datai);L.n=n;void clearList(SeqList& L)/清空順序表L.n=0;int Length(SeqList& L)/計(jì)算順序表的長度return L.n;int isEmpty(SeqList& L)/判斷空否return (L.n=0)?1:0;int isFull(SeqList& L)/判斷滿否return (L.n=L.maxSize)?1:0;int Search(SeqList& L,DataType x)/順序查找

4、算法for(int i=1;i<=L.n;i+)if(L.datai-1=x)return i;return 0;int Locate(SeqList& L,int i)/順序定位算法if(i>=1 && i<=L.n) return i;else return 0;void Copy(SeqList& L1,SeqList& L2)/順序表復(fù)制算法L1.maxSize=L2.maxSize;L1.n=L2.n;if(!L1.data)L1.data=new DataTypeL1.maxSize;if(! L1.data)cout<

5、;<"存儲(chǔ)分配錯(cuò)誤!n"exit(1);for(int i=1;i<=L2.n;i+)L1.datai-1=L2.datai-1;int Insert(SeqList& L,int i,DataType& x)/順序表插入if(L.n=L.maxSize) return 0;if(i<0 | i>L.n+1) return 0;for(int j=L.n;j>=i;j-)L.dataj=L.dataj-1;L.datai-1=x;L.n+;return 1;int Remove(SeqList& L,int i,Data

6、Type& x)/順序表刪除if(!L.n)return 0;if(i<1 | i>L.n)return 0;x=L.datai-1;for(int j=i;j<L.n;j+)L.dataj-1=L.dataj;L.n-;return 1;主函數(shù)代碼如下:void main()int ch;int i;DataType x;SeqList L;L.n=0;initList(L);printf(" *n");printf("*歡迎進(jìn)入CHEN CHENG 順序表結(jié)構(gòu)*n");Creat(L);menu();/*顯示菜單*/scan

7、f("%d",&ch); /*輸入一個(gè)數(shù)符*/while(1) switch(ch) case 0: printf("The list:"); Print(L);break; case 1: printf("The list's length is %dn", Length(L); break; case 2: i=isEmpty(L); if(i=0) printf("順序表非空!n"); if(i=1) printf("順序表為空!n"); break;case 3: i=i

8、sFull(L); if(i=1) printf("順序表已滿!n"); if(i=0) printf("順序表未滿!n"); break;case 4:printf("x="); scanf("%d",&x); i=Search(L,x); if(i=0) printf("查找失敗!"); else printf("查找成功:n%d為查找數(shù)!n",i); break;case 5:printf("i="); scanf("%d"

9、;,&i); i=Locate(L,i); if(i=0) printf("No find %dn",i); else printf("The location of %d is %dn",L.datai-1,i); break;case 6: printf("創(chuàng)建一個(gè)新的順序表!n"); SeqList La; La.n=0; initList(La);Copy(La,L);printf("輸出順序表L的值:n");Print(L);printf("n");printf("輸

10、出順序表La的值:n");Print(La);break;case 7:printf("i="); scanf("%d",&i); printf("n"); printf("x="); scanf("%d",&x); printf("n"); if(Insert(L,i,x)=1) printf("Insert success !n");printf("輸出插入元素后的順序 表L!n");Print(L); e

11、lse printf("Insert failed !n"); break; case 8:printf("i="); scanf("%d",&i); if(Remove(L,i,x) printf("Delete success!nThe deleted data is %d!n",x); printf("輸出刪除后元素后的順序表L!n"); Print(L); else printf("Delete failed !n"); break;case 9:printf

12、("創(chuàng)建一個(gè)新的順序表!n"); SeqList Lc; La.n=0; initList(Lc); Creat(Lc); Merge(Lc,L); printf("輸出求交后的順序表的值: "); Print(Lc); break;case 10:printf("創(chuàng)建一個(gè)新的順序表!n"); SeqList Lb; La.n=0; initList(Lb); Creat(Lb); Intersection(Lb,L); printf("輸出求交后的順序表的值: "); Print(Lb); break; case 11: printf("EIXT!"); printf("n"); exit(1); printf("再次輸入選擇:"); scanf(&qu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論