用C++編寫程序 猴子選大王_第1頁
用C++編寫程序 猴子選大王_第2頁
用C++編寫程序 猴子選大王_第3頁
用C++編寫程序 猴子選大王_第4頁
用C++編寫程序 猴子選大王_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

用C++編寫程序猴子選大王用C++編寫程序猴子選大王用C++編寫程序猴子選大王用C++編寫程序猴子選大王編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:湖南人文科技學(xué)院計(jì)算機(jī)系課程設(shè)計(jì)說明書課程名稱:數(shù)據(jù)結(jié)構(gòu)課程代碼:題目:猴子選大王年級(jí)/專業(yè)/班:06級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)一班學(xué)生姓名:學(xué)號(hào):0640810906408102064081070640812206408103指導(dǎo)教師:劉剛常開題時(shí)間:2008年6月16日完成時(shí)間:2008年6月29日

目錄TOC\o\h\z\t"標(biāo)題7,7,標(biāo)題8,8,標(biāo)題9,9"摘要 2一、引言 3二、設(shè)計(jì)目的與任務(wù) 3三、設(shè)計(jì)方案 41、總體設(shè)計(jì) 42、詳細(xì)設(shè)計(jì) 63、程序清單 104、程序調(diào)試與體會(huì) 145、運(yùn)行結(jié)果 15四、結(jié)論 16五、致謝 16六、參考文獻(xiàn) 16摘要本文首先介紹順序表和鏈表并作以比較,我們分別使用循環(huán)隊(duì)列和循環(huán)鏈表來解決猴子選大王的問題,程序使用了C語言編寫,有很少一部分函數(shù)是用C++編寫的,有比較詳細(xì)的中文注釋并在VC++下調(diào)試運(yùn)行通過。整個(gè)程序使用中文界面,并有相應(yīng)的提示信息,便于操作和程序運(yùn)行。關(guān)鍵詞:循環(huán)隊(duì)列;循環(huán)鏈表;存儲(chǔ)結(jié)構(gòu)AbstractThispaperdetailsthedifferenceofsequencelistandrespectivelyusequeueandcircularqueueandcircularlinkedlisttosolvetheseekelectedkingofthemonkeyproblem.TheprocedurewritewithClanguage,averysmallpartfunctionisusedbytheC++,andhaschineseexplanatory’smore,itwasdebuggedinVC++debuggerandrunverywholeprocedure,withChineseinterfaceandthecorrespondinghints,isconvenienttorunandeasytobeoperated.Keywords:circularqueue;circularlinkedlist;storagestructure

《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)——猴子選大王一、引言數(shù)據(jù)結(jié)構(gòu)是一門非常重要的基礎(chǔ)學(xué)科,但是實(shí)驗(yàn)內(nèi)容大都不能很好的和實(shí)際應(yīng)用結(jié)合起來。從而讓很多學(xué)生認(rèn)為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)并沒有很大的作用。但本實(shí)驗(yàn)運(yùn)用數(shù)據(jù)結(jié)構(gòu)的知識(shí),很好的解決了一個(gè)對(duì)于人腦來說比較煩瑣的實(shí)際問題。鏈表是一種以鏈?zhǔn)浇Y(jié)構(gòu)存儲(chǔ)的線性表,特點(diǎn)是數(shù)據(jù)元素可以用任意的存儲(chǔ)單元存儲(chǔ),線性表中邏輯上相鄰的兩元素存儲(chǔ)空間可以是不連續(xù)的。同時(shí)為了表示邏輯關(guān)系,每個(gè)數(shù)據(jù)元素除了存放自身的數(shù)據(jù)信息外還要存儲(chǔ)一個(gè)指示其直接后繼的信息。隊(duì)列是一種先進(jìn)先出的線性表。它只允許在的表的一端進(jìn)行插入,而在另一端刪除元素。循環(huán)隊(duì)列是隊(duì)列的順序表示和實(shí)現(xiàn)。從時(shí)間上考慮順序表中插入和刪除元素的時(shí)間復(fù)雜度為O(N),查找元素的時(shí)間復(fù)雜度為O(1);而鏈表中插入和刪除元素的時(shí)間復(fù)雜度為O(1),查找元素的時(shí)間復(fù)雜度為O(N)。而鏈表中除了存放自身的數(shù)據(jù)信息外,還要存放后繼結(jié)點(diǎn)的地址信息,存儲(chǔ)密度不高。本設(shè)計(jì)分別通過一個(gè)順序存儲(chǔ)結(jié)構(gòu)和一個(gè)鏈表存儲(chǔ)結(jié)構(gòu),再加適當(dāng)函數(shù)與改變,就簡明的解決了猴子選大王這個(gè)實(shí)際問題,其中順序存儲(chǔ)結(jié)構(gòu)我們使用的是循環(huán)隊(duì)列。依次按要求淘汰猴子一直到找到猴王,并依次顯示被淘汰猴子的編號(hào),輸出猴王的編號(hào)。該程序具有一定的通俗性與實(shí)用性,其他類似的算法均可借鑒和參考使用。該程序清單詳細(xì)具體、全面,為了使組員之間能夠很好的理解各自完成的程序,促進(jìn)組員之間的溝通,我們?cè)诔绦蛑刑砑恿溯^多的注釋和說明,具有很強(qiáng)的可讀性。二、設(shè)計(jì)目的與任務(wù)1、本課程設(shè)計(jì)的目的初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測試等基本方法和技能并培養(yǎng)學(xué)生進(jìn)行規(guī)范化軟件設(shè)計(jì)的能力。訓(xùn)練學(xué)生靈活應(yīng)用所學(xué)數(shù)據(jù)結(jié)構(gòu)的基本知識(shí),熟練的完成問題分析、算法設(shè)計(jì)、編寫程序,求解出指定的問題;提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力;訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),鞏固、深化學(xué)生的理論知識(shí),提高編程水平,并在此過程中培養(yǎng)他們嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的工作作風(fēng)。使學(xué)生會(huì)使用各種計(jì)算機(jī)資料和有關(guān)參考資料,提高學(xué)生進(jìn)行程序設(shè)計(jì)基本能力。2、本課程設(shè)計(jì)的任務(wù)問題描述:1)分別使用順序和鏈表二種存儲(chǔ)結(jié)構(gòu)2)功能實(shí)現(xiàn):一群猴子都有編號(hào),編號(hào)是1,2,3...m,這群猴子(m個(gè))按照1-m的順序圍坐一圈,從第1開始數(shù),每數(shù)到第n個(gè),該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最后一只猴子,則該猴子為大王。輸入數(shù)據(jù):輸入m,n。其中m,n為整數(shù),n<m輸出形式:依次顯示離開圈的猴子編號(hào),并且輸出為大王的猴子編號(hào)。三、設(shè)計(jì)方案1、總體設(shè)計(jì)1)使用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)我們選擇的是使用一個(gè)循環(huán)隊(duì)列來完成這個(gè)設(shè)計(jì)。定義并構(gòu)造一個(gè)空循環(huán)隊(duì)列,把猴子按照1到m的順序依次進(jìn)入該隊(duì)列,再按題目要求把被淘汰的猴子踢出隊(duì)列,使用兩個(gè)循環(huán)把被淘汰猴子的編號(hào)和猴王的編號(hào)分別輸出。本設(shè)計(jì)使用循環(huán)隊(duì)列求解猴子選大王的問題,程序中定義的數(shù)據(jù)結(jié)構(gòu)如下:定義一個(gè)循環(huán)隊(duì)列typedefstructSqQueue進(jìn)隊(duì)列 intEnQueue(SqQueue&Q,QElemTypee) 出隊(duì)列intDeQueue(SqQueue&Q,QElemType&e)主程序包含模塊:typedefstructSqQueue {京清華大學(xué)出版社,2005年[2]嚴(yán)蔚敏等,數(shù)據(jù)結(jié)構(gòu)題集(C語言版).北京清華大學(xué)出版社,2005年[3]蘇仕華等,數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì).機(jī)械工業(yè)出版社,2005年課程設(shè)計(jì)任務(wù)書及成績?cè)u(píng)定課題名稱:_猴子選大王完成者:李偉民李一可袁川華張志明周偉波1、設(shè)計(jì)的目的與要求:1)訓(xùn)練學(xué)生靈活應(yīng)用所學(xué)基本知識(shí),熟練的完成問題分析、算法設(shè)計(jì)、編寫程序;2)初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測試等基本方法和技能并培養(yǎng)學(xué)生進(jìn)行規(guī)范化軟件設(shè)計(jì)的能力。;3)提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力;4)訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),鞏固、深化學(xué)生的理論知識(shí),提高編程水平,并在此過程中培養(yǎng)他們嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的工作作風(fēng)。5)使學(xué)生掌握使用各種計(jì)算機(jī)資料和有關(guān)參考資料,提高學(xué)生程序設(shè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論