資源描述:
《數(shù)據結構課程設計--猴子吃桃問題》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、數(shù)據結構課程設計報告題目:猴子吃桃問題院(系):數(shù)理學院專業(yè):信息計算科學班級:計科1101學生:史城逸學號:1104101127指導老師:周海巖2012年6月摘要當下C++語言是一門重要的課程學習,學會運用并結合其他的知識一起解題是一件值得我們重視的,數(shù)據結構是一門結合C++知識的重要課程,因此我們要學會將平時課本的知識運用到我們現(xiàn)實生活當中,這樣才能讓我們所學的知識更加深刻。猴子吃桃的問題就是一個例子,我們可以運用簡單的三種解法進行解題,即數(shù)組求值解法,鏈表求值解法和遞歸求值解法,通過分析三種解法,根據各種解法的功能從而我們得到最合適的求法。關鍵詞:猴子吃桃,數(shù)組
2、法,鏈表法,遞歸法,分析AbstractThec++languageisanimportantcoursestudy,learntouseandincombinationwithotherknowledgeproblemsolvingisaworthytogetherwevalue,thedatastructuretobeacombinationC++knowledgeimportantcourse,sowehavetolearnhowtousetheknowledgewillusuallytextbookstoourrealitylife,sothatwecanap
3、plytheknowledgemoredeeply.Themonkeyseatthepeachproblemisoneexample,wecanusesimplethreesolutiontoproblemsolving,namelyarrayevaluatedmethod,thelistoftheevaluatedhydrolysisandrecursionevaluatedmethod,throughtheanalysisofthreekindsofsolution,accordingtovariousmethodstogetthemostappropriatef
4、unctionswethemethod.Keywords:themonkeyseatthepeach,thearraymethod,chaintablemethod,arecursivemethod,analysis目錄1、需求分析32、概要設計32.1.用數(shù)組數(shù)據結構實現(xiàn)上述求解32.2.用鏈數(shù)據結構實現(xiàn)上述求解42.3用遞歸實現(xiàn)上述求解42.4用棧數(shù)據結構實現(xiàn)求解43、運行環(huán)境43.1硬件環(huán)境43.2軟件環(huán)境44、詳細設計54.1系統(tǒng)流程圖54.2用數(shù)組數(shù)據結構實現(xiàn)上述求解54.3用鏈數(shù)據結構實現(xiàn)上述求解54.4用遞歸實現(xiàn)上述求解74.5用棧數(shù)據結構實現(xiàn)求解75、
5、調試分析96、運行結果9課程設計總結13致謝14參考文獻151、需求分析1、猴子吃桃子問題有一群猴子摘了一堆桃子,他們每天都吃當前桃子的一半且再多吃一個,到了第10天就只余下一個桃子。用多種方法實現(xiàn)求出原來這群猴子共摘了多少個桃子。?要求:1)?采用數(shù)組數(shù)據結構實現(xiàn)上述求解2)?采用鏈數(shù)據結構實現(xiàn)上述求解3)?采用遞歸實現(xiàn)上述求解4)如果采用第4種做法,適當加分2、概要設計2.1.用數(shù)組數(shù)據結構實現(xiàn)上述求解在taozi函數(shù)中定義一個一維數(shù)組,分別存儲每天的桃子個數(shù),根據題目的內容找出各個數(shù)之間的關系,用數(shù)組元素表示出來,根據用戶輸入要計算哪一天的桃子,用for循環(huán)控制
6、結束。在main函數(shù)中讓用戶輸入要計算的哪一天,調用taozi函數(shù),以便用戶可查出任意一天的桃子個數(shù),用switch語句判斷用戶要執(zhí)行的功能,然后用while循環(huán)控制,直到用戶輸入0為止。2.2.用鏈數(shù)據結構實現(xiàn)上述求解先寫出預定義常量和類型,寫出結點的類型定義,創(chuàng)建結點,初始化鏈表,定義變量并初始化,找出結點與其后繼結點之間的聯(lián)系,然后在主函數(shù)中控制。2.3用遞歸實現(xiàn)上述求解這種方法跟上述幾種不同,在函數(shù)的執(zhí)行函數(shù)的過程中,需多次進行自我調用,遞歸函數(shù)的運行過程類似與多個函數(shù)的嵌套調用,只是調用函數(shù)和被調用函數(shù)是同一個函數(shù),從主函數(shù)開始調用,一次更深一層,退出時一步
7、一步返回到上一層,所以不需寫控制循環(huán)語句,不需要寫控制循環(huán)語句,比上幾種方法簡單點。2.4用棧數(shù)據結構實現(xiàn)求解本部分包括預定義常量和類型,順序棧的定義,InitStack函數(shù),Push函數(shù),和main函數(shù),在InitStack函數(shù)構造一個空棧,在Push函數(shù)中調用該函數(shù),并在其中編寫控制棧頂指針和棧底指針移動的語句,找出指針所指向的數(shù)據之間的關系,在main函數(shù)中編寫控制循環(huán)結束的語句,最后再用main函數(shù)去調用Push函數(shù)。3、運行環(huán)境3.1硬件環(huán)境PC3.2軟件環(huán)境(1)WindowsXP(2)MicrosoftVisualC++6.04、詳細設