




已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
北京郵電大學(xué)信息與通信工程學(xué)院數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱: 實(shí)驗(yàn)一 約瑟夫問(wèn)題學(xué)生姓名: *班 級(jí): 20132111*班內(nèi)序號(hào): *學(xué) 號(hào): 201321*日 期: 2014年1月4日1 實(shí)驗(yàn)要求實(shí)驗(yàn)題目:利用循環(huán)鏈表實(shí)現(xiàn)約瑟夫問(wèn)題的求解。約瑟夫問(wèn)題如下:已知n個(gè)人(n=1)圍坐一圓桌周圍,從1開(kāi)始順序編號(hào)。從序號(hào)為1的人開(kāi)始報(bào)數(shù),順時(shí)針數(shù)到m的那個(gè)人出列;他的下一個(gè)人又從1開(kāi)始報(bào)數(shù),數(shù)到m的那個(gè)人又出列;依此規(guī)則重復(fù)下去,直到所有人全部出列。請(qǐng)問(wèn)最后一個(gè)出列的人的編號(hào)。實(shí)驗(yàn)?zāi)康模菏煜+語(yǔ)言的基本編程方法,掌握集成編譯環(huán)境的調(diào)試方法學(xué)習(xí)指針、模板類、異常處理的使用掌握線性表的操作的實(shí)現(xiàn)方法學(xué)習(xí)使用線性表解決實(shí)際問(wèn)題的能力2. 程序分析2.1 存儲(chǔ)結(jié)構(gòu) 采用單循環(huán)鏈表實(shí)現(xiàn)約瑟夫問(wèn)題的求解單循環(huán)鏈表示意圖2.2關(guān)鍵算法分析1、關(guān)鍵算法首先通過(guò)尾插法建立單循環(huán)鏈表,若只有一個(gè)人,即只刪除該人即可,若多于一人,則每查到m個(gè)人時(shí)刪除該節(jié)點(diǎn),并將循環(huán)鏈表連接好,共循環(huán)n-1次,每次刪除均返回被刪數(shù)值。2、代碼詳細(xì)分析:1).指針結(jié)構(gòu)、類的聲明struct Node /創(chuàng)立節(jié)點(diǎn) int number; Node *next; ; class Joseph /建立Joseph類 private: int n; int m; Node *front ; /front頭指針public: Joseph(int nn, int mm); /構(gòu)造函數(shù) Joseph(); /析構(gòu)函數(shù) void Delete(); /刪除函數(shù); 2).單循環(huán)鏈表的建立 Joseph:Joseph(int nn, int mm) /構(gòu)造函數(shù),建立循環(huán)鏈表 n=nn; m=mm; Node *p,*rear; /建立兩個(gè)指針.尾插法,p2始終指向?yàn)楣?jié)點(diǎn) for(int i=1; inumber=i; if(i=1) /建立空鏈表 front=p; rear=p; else rear-next=p; rear=p; rear-next=front; /尾指向頭,循環(huán)完成 算法: 設(shè)兩個(gè)指針p,rear, rear為尾節(jié)點(diǎn),p為新增加的節(jié)點(diǎn) 若是空鏈表,則front=p; rear=p; 否則用尾插法,即p 在rear的后面,將p給rear;rear-next=p; rear=p; 頭結(jié)點(diǎn)賦給rear的指針域,完成循環(huán)循環(huán)次數(shù)為n, 時(shí)間復(fù)雜度為O(n)3). 輸入值異常的情況coutn;if (n1) /考慮n輸入錯(cuò)誤的情況coutn值輸入錯(cuò)誤endl;coutm;if (m1) /考慮m輸入異常的情況coutm值輸入錯(cuò)誤endl;4).尋找一定間隔的人,并將其刪除void Joseph:Delete() /刪除人員的函數(shù) Node *p1,*p2,*p; int count; /用來(lái)計(jì)數(shù) p1=front; /頭結(jié)點(diǎn)給p1if(m=1)cout最后一個(gè)人的編號(hào)為nendl;elsecout每次被刪除的人為endl; for(int i=1; i=n-1; i+) /共刪除n-1個(gè)人,循環(huán)n-1次 count=1; while(countnext; /p1向后移 count+; coutnumbernext=p1-next; p1=p1-next; /p1后移,防止刪除后指針懸掛 delete p; coutendl; cout最后一個(gè)人的編號(hào)為 numbernext; p2始終指向第一個(gè)節(jié)點(diǎn) 摘鏈,將p指向待刪除的p1,即將p1元素從鏈表中摘除: 輸出p1的數(shù)值 釋放p元素:delete p;循環(huán)次數(shù)為m(n-1), 時(shí)間復(fù)雜度為O(n)5)析構(gòu)函數(shù)Joseph:Joseph() /析構(gòu)函數(shù) delete front; front=NULL; 6)主函數(shù)void main() int n,m; coutn; coutm; Joseph joseph(n,m); joseph.Delete(); 3. 程序運(yùn)行結(jié)果測(cè)試主函數(shù)流程: 開(kāi)始等待用戶輸入輸入值是否有效 是查找刪除節(jié)點(diǎn)循環(huán)次數(shù)是否大于n-1次 是輸出最后一個(gè)數(shù)值結(jié)束流程圖示意圖1、 測(cè)試條件:n數(shù)量級(jí)無(wú)限制 2、 測(cè)試結(jié)論4. 總結(jié)由于是第一次做數(shù)據(jù)結(jié)構(gòu)的實(shí)驗(yàn),而上學(xué)期的C+也因長(zhǎng)時(shí)間沒(méi)有碰過(guò)而稍顯手生,在碼程序的過(guò)程中遇到了很多問(wèn)題,但通過(guò)翻看教材已基本解決。約瑟夫雖然構(gòu)思起來(lái)比
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 40565.2-2025液壓傳動(dòng)連接快換接頭第2部分:平面型
- 注冊(cè)會(huì)計(jì)師考試2025年企業(yè)資源計(jì)劃的重要性試題及答案
- 注冊(cè)會(huì)計(jì)師考試趨勢(shì)與應(yīng)對(duì)策略分析試題及答案
- 項(xiàng)目合作伙伴選擇的關(guān)鍵考題及答案
- 2025年金融市場(chǎng)概論試題及答案
- 律師事務(wù)所關(guān)于股份有限公司部分國(guó)有股權(quán)轉(zhuǎn)讓的法律意見(jiàn)書(shū)
- 了解項(xiàng)目管理變革的相關(guān)考題試題及答案
- 新市場(chǎng)開(kāi)發(fā)的總結(jié)與戰(zhàn)略計(jì)劃
- 建立良好的客戶服務(wù)意識(shí)計(jì)劃
- 2025年注冊(cè)會(huì)計(jì)師考試的突出優(yōu)勢(shì)與考生需求分析試題及答案
- 2024中考英語(yǔ)必考1600詞匯分類速記表
- 小學(xué)語(yǔ)文課程方案2022
- 幼兒園課件:《動(dòng)物的尾巴》
- Q∕GDW 1572-2014 計(jì)量用低壓電流互感器技術(shù)規(guī)范
- 2022年版初中物理課程標(biāo)準(zhǔn)解讀-課件
- 河南省洛陽(yáng)市新安縣2023-2024學(xué)年八年級(jí)下學(xué)期4月期中道德與法治試題
- 2024年建筑業(yè)10項(xiàng)新技術(shù)
- DB11-T 2207-2023 市政橋梁工程數(shù)字化建造標(biāo)準(zhǔn)
- 校園足球教育知識(shí)講座
- 2022-2023學(xué)年湖南省長(zhǎng)沙市重點(diǎn)中學(xué)高一下學(xué)期期中考試化學(xué)試卷
- 硼元素植物研究報(bào)告總結(jié)
評(píng)論
0/150
提交評(píng)論