實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用

實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用

ID:30890126

大小:260.38 KB

頁(yè)數(shù):16頁(yè)

時(shí)間:2019-01-03

實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用_第1頁(yè)
實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用_第2頁(yè)
實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用_第3頁(yè)
實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用_第4頁(yè)
實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用_第5頁(yè)
資源描述:

《實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、實(shí)驗(yàn)一線性表的基本操作實(shí)現(xiàn)及其應(yīng)用一、實(shí)驗(yàn)?zāi)康?、熟練掌握線性表的基本操作在兩種存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn),其中以熟悉各種鏈表的操作為重點(diǎn)。2、鞏固高級(jí)語(yǔ)言程序設(shè)計(jì)方法與技術(shù),會(huì)用線性鏈表解決簡(jiǎn)單的實(shí)際問(wèn)題。二、實(shí)驗(yàn)內(nèi)容?1、單鏈表的表示與操作實(shí)現(xiàn)(*)2、約瑟夫環(huán)問(wèn)題3、Dr.Kong的藝術(shù)品三、實(shí)驗(yàn)要求1、按照數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)任務(wù)書(shū),提前做好實(shí)驗(yàn)預(yù)習(xí)與準(zhǔn)備工作。2、力曠桿題目必做,其他題目任選;多選者并且保質(zhì)保量完成適當(dāng)加分。3、嚴(yán)格按照數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告模板和規(guī)范,及時(shí)完成實(shí)驗(yàn)報(bào)告。!1!實(shí)驗(yàn)步驟(說(shuō)明:依據(jù)實(shí)驗(yàn)內(nèi)容分別說(shuō)明實(shí)驗(yàn)程序屮用到的數(shù)據(jù)類(lèi)

2、型的定義、主程序的流程以及每個(gè)操作(函數(shù))的偽碼算法、函數(shù)實(shí)現(xiàn)、程序編碼、調(diào)試與分析。附流程圖與主要代碼)㈠、數(shù)據(jù)結(jié)構(gòu)與核心算法的設(shè)計(jì)描述(程序屮每個(gè)模塊或函數(shù)應(yīng)加注釋?zhuān)f(shuō)明兩數(shù)功能、入口及出口參數(shù))1、單鏈表的最大長(zhǎng)度#defineMAXSIZE1002、單鏈表的結(jié)點(diǎn)類(lèi)型定義/*定義elemtype為int類(lèi)型*/typedefintelemtype;/*單鏈表的結(jié)點(diǎn)類(lèi)型*/typedefstructSTD{clcmtypcc1cm;STD*next;}list,*1inklist;3、初始化單鏈表參數(shù):鏈表(1inklistL)成功

3、初始化返回1,否則返回0*/intinit(linklist&L)(L=(linklist)malloc(sizeof(1ist));//頭結(jié)點(diǎn)申請(qǐng)內(nèi)存。if(!L)〃判斷有無(wú)申請(qǐng)到空間。return0;//沒(méi)有申請(qǐng)到內(nèi)存,參數(shù)失敗返回0L->next=NULL;L->elem=0;//單鏈表中有多少元素return1;//成功參數(shù)返回1}4、清空單鏈表/*函數(shù)功能:把鏈表清空參數(shù):鏈表(1inklistL)成功清空鏈表返回1*/intmakeemptj^(1inklist&L){1inklistp,q;p=L->next;while(

4、p)//當(dāng)p非空時(shí),刪除pq=P;p=p->next;free(q);//只剩頭指針,所以L->next=NULL//清空后鏈表中元素為0//淸空后返回1}L->next=NULL;L->elem=0;return1;求鏈表長(zhǎng)度/*函數(shù)功能:返回鏈表的長(zhǎng)度參數(shù);鏈表(1inklistL)函數(shù)返回鏈表的長(zhǎng)度intgetlength(1inklistL)1inklistp;p=L->next;intj=0;whi1c(p)j++;p=p->next;//統(tǒng)計(jì)鏈表中元素}//最后返回鏈表長(zhǎng)度.returnj;判斷鏈表是否為空*函數(shù)功能:判斷鏈

5、表是否為空*/參數(shù);鏈表(1inklistL)鏈表為空時(shí)返回0,不為空返回1intisempty(1inklistL)//頭結(jié)點(diǎn)后有元素表示鏈表不空則返回1//頭結(jié)點(diǎn)后沒(méi)有元素表示鏈表不空則返回0if(L->next)return1;elsereturn0;)7、檢查鏈表是否為滿/*函數(shù)功能:判斷鏈表是否為滿參數(shù);鏈表(linklistL)鏈表為滿時(shí)返回0,不為滿返回1intisful1(linklistL)<=MAXSIZE)1;//頭結(jié)點(diǎn)的elem儲(chǔ)存的為鏈表的長(zhǎng)度。//其小于MAXSIZE表示鏈表不滿if(L->elemretur

6、nelsereturn0;//否則返回08、遍歷鏈表/*函數(shù)功能:遍歷鏈表,輸出每個(gè)節(jié)點(diǎn)的elem值參數(shù);鏈表(linklistL)通過(guò)循環(huán)逐個(gè)輸出節(jié)點(diǎn)的eleni值voidshow(linklistL)1inklistp;p=L-〉next;//當(dāng)鏈表為空時(shí)則輸出鏈表為空if(isempty(L)==0)cout?H鏈表為空!while(p)//當(dāng)鏈表為不空時(shí)則輸出鏈表每個(gè)節(jié)點(diǎn)的elem值cout<elem<next;cout?cndl;9、從鏈表中查找元素/*函數(shù)功能:從鏈表中查找有無(wú)給定元素參數(shù);鏈表(lin

7、klistL),給定元素(inti)如果鏈表中有給定元素⑴則返回1,否則返回0intfind(1inklistL,inti)1inklistp;p=L->next;whi1e(p){if(p->elem==i)//判斷有無(wú)元素I,有返回1return1;p=p->next;}10、從鏈表中查找與給定元素值相同的元素在表中的位置/*函數(shù)功能:從鏈表中查找給定元素的位置參數(shù);鏈表(linklistL),給定元素(inti)如果鏈表中有給定元素i則返回元素的位置,沒(méi)有則返回0*intlocation(linklistL,inti)(1inkl

8、istp;intj=0;p=L->next;while(p){j++;if(p->elem==i)//判斷有無(wú)元素i,有返回其的位置jreturnj;p=p->next;}return0;//沒(méi)有則返回0}

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。