數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)書(2023級試驗(yàn)報(bào)告參考)_第1頁
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)書(2023級試驗(yàn)報(bào)告參考)_第2頁
數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)書(2023級試驗(yàn)報(bào)告參考)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——數(shù)據(jù)結(jié)構(gòu)試驗(yàn)指導(dǎo)書(2023級試驗(yàn)報(bào)告參考)

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)書

授課學(xué)期:2023-2023,2授課教師:肖飛授課班級:信管2023級教研室:計(jì)算機(jī)工程

試驗(yàn)一線性表及其應(yīng)用

項(xiàng)目編號:426140041101一、試驗(yàn)?zāi)康?/p>

1.熟悉C語言的上機(jī)環(huán)境,進(jìn)一步把握C語言的結(jié)構(gòu)特點(diǎn)。2.把握線性表的順序存儲結(jié)構(gòu)的定義及C語言實(shí)現(xiàn)。

3.把握線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)——單鏈表的定義及C語言實(shí)現(xiàn)。4.把握線性表在順序存儲結(jié)構(gòu)即順序表中的各種基本操作。5.把握線性表在鏈?zhǔn)酱鎯Y(jié)構(gòu)——單鏈表中的各種基本操作。二、試驗(yàn)內(nèi)容

1.順序線性表的建立、插入及刪除。2.鏈?zhǔn)骄€性表的建立、插入及刪除。三、試驗(yàn)步驟

1.建立含n個數(shù)據(jù)元素的順序表并輸出該表中各元素的值及順序表的長度。

2.利用前面的試驗(yàn)先建立一個順序表L={21,23,14,5,56,17,31},然后在第i個位置插入元素68。

3.建立一個帶頭結(jié)點(diǎn)的單鏈表,結(jié)點(diǎn)的值域?yàn)檎蛿?shù)據(jù)。要求將用戶輸入的數(shù)據(jù)按尾插入法來建立相應(yīng)單鏈表。

實(shí)現(xiàn)提醒:

1.由于C語言的數(shù)組類型也有隨機(jī)存取的特點(diǎn),一維數(shù)組的機(jī)內(nèi)表示就是順序結(jié)構(gòu)。因此,可用C語言的一維數(shù)組實(shí)現(xiàn)線性表的順序存儲。

在此,我們利用C語言的結(jié)構(gòu)體類型定義順序表:#defineMAXSIZE1024

typedefintelemtype;/*線性表中存放整型元素*/typedefstruct

{elemtypevec[MAXSIZE];

intlen;/*順序表的長度*/}sequenlist;

將此結(jié)構(gòu)定義放在一個頭文件sqlist.h里,可避免在后面的參考程序中代碼重復(fù)書寫,另外在該頭文件里給出順序表的建立及常量的定義。

2.注意如何取到第i個元素,在插入過程中注意溢出狀況以及數(shù)組的下標(biāo)與位序(順序表中元素的次序)的區(qū)別。

3.單鏈表的結(jié)點(diǎn)結(jié)構(gòu)除數(shù)據(jù)域外,還含有一個指針域。用C語言描述結(jié)點(diǎn)結(jié)構(gòu)如下:typedefintelemtype;

typedefstructnode{elemtypedata;//數(shù)據(jù)域structnode*next;//指針域}linklist;

注意結(jié)點(diǎn)的建立方法及構(gòu)造新結(jié)點(diǎn)時指針的變化。構(gòu)造一個結(jié)點(diǎn)需用到C語言的標(biāo)準(zhǔn)函數(shù)malloc(),如給指針變量p分派一個結(jié)點(diǎn)的地址:

p=(linklist*)malloc(sizeof(linklist));該語句的功能是申請分派一個類型為linklist的結(jié)點(diǎn)的地址空間,并將首地址存入指針變量p中。當(dāng)結(jié)點(diǎn)不需要時可以用標(biāo)準(zhǔn)函數(shù)free(p)釋放結(jié)點(diǎn)存儲空間,這時p為空值(NULL)。

完整參考程序

1.順序線性表的建立、插入及刪除。

#includev.last+1))

{printf(\插入位置不合理!\\n\//位置不合理returnFalse;}

elseif(v.last>=MAX)//線性表已滿{printf(\線性表已滿!\\n\returnFalse;}

else{for(i=v.last-1;i>=loc-1;i--)v.elem[i+1]=v.elem[i];//其后元素依次后移v.elem[loc-1]=ch;//插入元素

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論