

下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)課內(nèi)實(shí)驗(yàn)報(bào)告學(xué)院:電信學(xué)院 班級(jí):計(jì)算機(jī)22 姓名:杜文瀚 學(xué)號(hào):2120505033一、順序線性表的實(shí)現(xiàn)與隊(duì)列操作針對(duì)線性表,編程實(shí)現(xiàn)選擇順序存儲(chǔ)結(jié)構(gòu)下數(shù)據(jù)結(jié)構(gòu)建立、元素插入、刪除等基本操作,并演示實(shí)際例子運(yùn)行結(jié)果。程序:#include using namespace std; class Alistprivate:int maxSize; /*順序表容量*/int listSize; /*當(dāng)前元素個(gè)數(shù)*/int curr; /*柵欄*/int*Demaxiya; /*儲(chǔ)存元素的數(shù)組*/ /*以整形為例*/public:Alist(int size=998) /*構(gòu)造函數(shù)*/ /*
2、默認(rèn)容量為998*/maxSize=size; listSize=curr=0;Demaxiya=new intmaxSize;Alist()delete Demaxiya; /*析構(gòu)函數(shù)*/bool append(const int& it) /*在線性表尾插入元素,值為it*/if (listSize = maxSize) return false; /*判斷表是否滿,滿則返回false */DemaxiyalistSize = it; /* 賦值*/listSize+; /* 計(jì)數(shù)器+*/return true; /* 表示插入成功*/bool remove(int& it) /* 當(dāng)前
3、柵欄處元素值傳遞給it,并從表中刪除*/if (rightLength()=0) return false; it = Demaxiyacurr;for(int i=curr;icurr;i-) Demaxiyai=Demaxiyai-1; Demaxiyacurr=it; listSize+; return true;void setStart() curr=0; /*將柵欄挪至表頭*/void setEnd() curr=listSize; /*將柵欄挪至表的最后一個(gè)元素*/void prev() if(curr !=0) curr-; /*將柵欄左移一個(gè)元素,若柵欄已到表頭則不操作*/v
4、oid next() if(curr=0)&(pos=0)&(pos=listSize);bool getValue(int& it) const /* 返回當(dāng)前柵欄處元素值*/if (rightLength()=0) return false;else it = Demaxiyacurr; return true;void print() /* 從頭至尾依次輸出表中元素*/ int i=0; cout|;for(i=0;ilistSize;i+) coutDemaxiyai,; cout|endl;int main() /* 以下為調(diào)試用程序*/ int x; Alist color(200
5、); /* 新建線性表取名 color*/color.setStart(); /* 柵欄移至表頭*/color.append(1); /* 依次在表中儲(chǔ)存整形數(shù) */color.append(2);color.append(3);color.append(4);color.append(5); /*共5個(gè)元素*/color.print(); /*輸出表中元素*/color.setPos(2); /* 把柵欄移至第二個(gè)元素處*/color.cutin(15); /*插入元素 15 */color.print(); /*再次輸出*/color.setPos(3); /* 把柵欄移至第三個(gè)元素處*/
6、color.remove(x); /* 刪除第三個(gè)元素并輸出其值*/coutxendl; color.print(); /*再次輸出表中元素*/return 0;運(yùn)行結(jié)果運(yùn)行結(jié)果與預(yù)期相符。二、排序方法與實(shí)現(xiàn)選擇shell排序(希爾排序),編程實(shí)現(xiàn)相應(yīng)算法實(shí)現(xiàn)過(guò)程,并舉例演示算法各趟運(yùn)行結(jié)果。#include using namespace std;int shellsortSh(int p,int n) /希爾排序函數(shù) int h,i,j,temp,k; /h為分組長(zhǎng)度,temp用于交換for(h = n/2; h 0; h = h/2) /分為2組 for (i = h; i = 0 & pj temp; j -= h) /依次比較每組數(shù) /據(jù)相應(yīng)位置的元pj+h = pj; /素值并排序pj+h = temp;for(k=0;kn;k+) /算法每執(zhí)行一趟coutpk ; /輸出一次相應(yīng)排coutendl; /序成果int main() /調(diào)試用函數(shù) int a20; /待排數(shù)組最大長(zhǎng)度為20 in
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 古代表示年齡的詞語(yǔ)從小到大排序
- 公益慈善存在的問(wèn)題及建議
- 公共直飲水點(diǎn)管理制度
- 公共交通服務(wù)質(zhì)量評(píng)估制度
- 工作票安規(guī)流程
- 工業(yè)產(chǎn)品外觀設(shè)計(jì)的基本原則
- 2025年養(yǎng)老保險(xiǎn)市場(chǎng)分析:參保人數(shù)穩(wěn)步增長(zhǎng) 持續(xù)優(yōu)化服務(wù)保障
- 廣東省茂名市2024-2025學(xué)年高三上學(xué)期第一次綜合測(cè)試數(shù)學(xué)試題(解析版)
- 湛江降水井施工方案
- 寧波耐堿磚施工方案
- 中醫(yī)理療免責(zé)協(xié)議書(shū)
- 精神科病人安全與治療管理制度
- 廚房食材收貨流程
- 品牌服飾行業(yè)快速消費(fèi)品庫(kù)存管理優(yōu)化方案
- 貝雷橋吊裝專(zhuān)項(xiàng)方案(危大工程吊裝方案)
- 昌江縣燕窩嶺水泥用石灰?guī)r礦礦產(chǎn)資源開(kāi)發(fā)利用與保護(hù)方案
- 2024年《認(rèn)證基礎(chǔ)》真題及答案
- ZHF形勢(shì)與政策(2024年秋)-考試題庫(kù)
- 淤地壩應(yīng)急處置
- 鸚鵡介紹課件教學(xué)課件
- 汽車(chē)檢測(cè)技術(shù)課件 任務(wù)一 認(rèn)識(shí)汽車(chē)檢測(cè)站
評(píng)論
0/150
提交評(píng)論