順序表的操作實(shí)驗(yàn)報(bào)告.doc_第1頁(yè)
順序表的操作實(shí)驗(yàn)報(bào)告.doc_第2頁(yè)
順序表的操作實(shí)驗(yàn)報(bào)告.doc_第3頁(yè)
順序表的操作實(shí)驗(yàn)報(bào)告.doc_第4頁(yè)
順序表的操作實(shí)驗(yàn)報(bào)告.doc_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

順序表的基本操作一、實(shí)驗(yàn)?zāi)康?、復(fù)習(xí)C+語(yǔ)言程序設(shè)計(jì)中的知識(shí)。2、熟悉線性表的邏輯結(jié)構(gòu)。3、熟悉線性表的基本運(yùn)算在兩種存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。4、掌握順序表的存儲(chǔ)結(jié)構(gòu)形式及其描述和基本運(yùn)算的實(shí)現(xiàn)。5、熟練掌握動(dòng)態(tài)鏈表結(jié)構(gòu)及有關(guān)算法的設(shè)計(jì)二、實(shí)驗(yàn)內(nèi)容實(shí)現(xiàn)順序表的建立、取元素、修改元素、插入、刪除等順序表的基本操作?;疽螅?).依次從鍵盤(pán)讀入數(shù)據(jù),建立帶頭結(jié)點(diǎn)的順序表;(2).輸出順序表中的數(shù)據(jù)元素(3).根據(jù)指定條件能夠取元素和修改元素;(4).實(shí)現(xiàn)在指定位置插入和刪除元素的功能。三、實(shí)驗(yàn)步驟、調(diào)試及輸出結(jié)果() . 數(shù)據(jù)結(jié)構(gòu)與核心算法的設(shè)計(jì)描述:#include #include /*順序表的定義:*/#define ListSize 100typedef struct int elemListSize;/*向量elem用于存放表結(jié)點(diǎn)*/ int length;/*當(dāng)前的表長(zhǎng)度*/ SeqList;/*順序表的建立:*/void CreateList(SeqList *L,int n) int i; printf(please input n numbers:n); for(i=1;ielemi); L-length=n; /*順序表的打?。?/void PrintList(SeqList *L,int n) int i; printf(the sqlist isn); for(i=1;ielemi); printf(n); /*順序表的查找:*/int LocateList(SeqList *L,int x) int i; i=1; while (L-elemi)!=x) &(ielemi)=x) return(i); else return(0);/*順序表的插入:*/void InsertList(SeqList *L,int x,int i) int j; if (iL-length+1) printf(no insert position!n); else for(j=L-length;j=i;j-) L-elemj+1=L-elemj; L-elemi=x; L-length+; /*順序表的刪除:*/void DeleteList(SeqList *L,int i) int j; if (iL-length) printf(no delete position!n); else for(j=i;jlength)-1;j+) L-elemj=L-elemj+1; L-length-; void main() SeqList L;int i,x;int n=10;/*當(dāng)前順序表的長(zhǎng)度*/L.length=0;CreateList(&L,n);/*建立順序表*/PrintList(&L,L.length);/*輸出順序表*/printf(input the research element:);scanf(%d,&x);i=LocateList(&L,x); /*順序表查找*/printf(the research position is %dn,i);printf(input the position of insert:);scanf(%d,&i);printf(input the value of insert:);scanf(%d,&x);InsertList(&L,x,i); /*順序表插入*/PrintList(&L,L.length);/*輸出順序表*/printf(input the position of delete:);scanf(%d,&i);DeleteList(&L,i);/*順序表刪除*/PrintList(&L,L.length); /*輸出順序表*/ (二). 調(diào)試及輸出結(jié)果測(cè)試數(shù)據(jù): 1、輸入n個(gè)數(shù); 2、輸出順序列表;3、順序表的查找;4.順序表的插入;5、順序表的刪除;數(shù)據(jù)測(cè)試如下截圖:四、實(shí)驗(yàn)討論與總結(jié):通過(guò)這次寫(xiě)實(shí)驗(yàn)報(bào)告,我深切的理解了這門(mén)課的本質(zhì)。剛開(kāi)始學(xué)這門(mén)課時(shí),當(dāng)時(shí)還不清楚這門(mén)課程的目的,現(xiàn)在,我真正的理解了:數(shù)據(jù)結(jié)構(gòu)像是身體的骨骼。數(shù)據(jù)結(jié)構(gòu)是個(gè)框架,模型,抽象數(shù)據(jù)類(lèi)型中列舉了各種操作,而所用的C+語(yǔ)言,將各種操作描述出來(lái)構(gòu)成算法。在這次設(shè)計(jì)的過(guò)程中,我知道了順序表是按順序存儲(chǔ)的,用了一維數(shù)組來(lái)存儲(chǔ),但是,在執(zhí)行時(shí)出現(xiàn)了問(wèn)題。后來(lái)問(wèn)同學(xué),指出我的錯(cuò)誤,不過(guò)獲益不少。我又重新整理思路,把順序表的基本操作寫(xiě)好了。雖然走了很多彎路,但是讓我認(rèn)識(shí)到,一定要?jiǎng)?chuàng)新,大膽,不能按照舊的思路去干新的事情。單鏈表寫(xiě)起來(lái)簡(jiǎn)單多了,這個(gè)很快就搞定了。但是細(xì)節(jié)上出了問(wèn)題。比如說(shuō),有些變量的重復(fù)定義,有些變量又沒(méi)有定義,在調(diào)用函數(shù),就直接復(fù)制過(guò)來(lái),沒(méi)有改參數(shù)通

溫馨提示

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