![漢諾塔動態(tài)演示程序_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/ca9fb016-6b4c-4011-81b4-63cee5b3e8d3/ca9fb016-6b4c-4011-81b4-63cee5b3e8d31.gif)
![漢諾塔動態(tài)演示程序_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/ca9fb016-6b4c-4011-81b4-63cee5b3e8d3/ca9fb016-6b4c-4011-81b4-63cee5b3e8d32.gif)
![漢諾塔動態(tài)演示程序_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/ca9fb016-6b4c-4011-81b4-63cee5b3e8d3/ca9fb016-6b4c-4011-81b4-63cee5b3e8d33.gif)
![漢諾塔動態(tài)演示程序_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/ca9fb016-6b4c-4011-81b4-63cee5b3e8d3/ca9fb016-6b4c-4011-81b4-63cee5b3e8d34.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、漢諾塔遞歸算法C 語言動態(tài)演示漢諾塔遞歸算法具體演示功能:任意輸入演示的個數(shù);選擇電腦自動演示和手動單步執(zhí)行兩種方式;若選擇電腦自動演示請輸入速度;屏幕上顯示算法執(zhí)行過程。演示算法流程圖:漢諾塔模塊編碼:漢諾塔問題是一個經(jīng)典的遞歸問題。它給出的圓盤移動條件是:一次僅能移動一個盤,且不允許大盤放在小盤的上面 1 。算法演示思想 10 :設(shè)要解決的的漢諾塔共有個圓盤,對桿上的全部個圓盤從小到大順序編號,最小的圓盤為號,次之為號,依次類推,則最下面的圓盤的編號為。第一步:先將問題簡化。假設(shè)桿上只有一個圓盤,即漢諾塔只有一層,則只要將號盤從桿上移到桿上即可。第二步:對於一個有()個圓盤的漢諾塔,將個圓
2、盤分成兩部分:上面的個圓盤和最下面的號圓盤。第三步:將 “上面的個圓盤”看成一個整體,為了解決個圓盤的漢諾塔,可以按下面圖示的方式逕行操作:1、將桿上面的個盤子,借助桿,移到桿上;2 、 將桿上剩余的號盤子移到桿上;3、將桿上的個盤子,借助桿,移到桿上。按照上面的想法,我們要演示的就是具體的移盤操作。關(guān)鍵技術(shù):畫盤子、移盤、顯示移盤步驟實現(xiàn)步驟:1、畫盤子;2 、移盤、顯示移盤步驟。核心代碼實現(xiàn)如下:n 畫盤子首先定義一下盤子的結(jié)構(gòu):struct Hint data15;/* 存放每個盤的代號*/int top;/* 每個塔的具體高度*/num3;/* 三個塔 */接下來要定義一些標志變量來判
3、斷運行方式,比如:int computer=1;/*自動控制與手動控制的標志*/int speed=0;/*全局變量 speed 主要是演示過程的速度*/然后要處理輸入數(shù)據(jù)越界的情況,因為盤子個數(shù)過多,將很難實現(xiàn),因此這里以0<n<10為界限,越界的話 n 當(dāng) 10 處理。代碼如下:if(n<1|n>10)n=10;/* 越界的話 n 當(dāng) 10 處理 */下面來開始畫盤子:首先初始化三個地方塔的高度,代碼如下:for(i=0;i<3;i+)numi.top=-1;/* 三個地方的高度開始都為-1*/然后畫一開始的塔座A 上的盤子,代碼如下:for(i=0;i<
4、;n;i+)/*畫一開始的塔座A 上的盤子 */num0.top+;/*棧的高度加1*/num0.datanum0.top=i; /*最大的盤子代號為0,依次為1, 2, n-1*/color=num0.datanum0.top+1;/*盤子的顏色代碼為棧頂盤子代號加1*/setfillstyle(SOLID_FILL,color);bar(100-(33-3*num0.datanum0.top),400-20*i-8,100+(33-3*num0.datanum0.top),400-20*i+8); /*畫矩形 */setcolor(YELLOW);outtextxy(180,450,&qu
5、ot;any key to continue");settextstyle(0,0,2);outtextxy(90,420,"A"); /*塔座標志 */outtextxy(240,420,"B");outtextxy(390,420,"C");n 移盤、顯示移盤步驟接下來要做的解決移盤問題并顯示移盤步驟,這個過程的代碼如下:int i;char num13,num23;sprintf(num1,"%c",x-32);/*將小寫變成大寫,并轉(zhuǎn)換成字符串輸出*/sprintf(num2,"%c&q
6、uot;,y-32);setfillstyle(SOLID_FILL,BLACK);/*把原來的地方移去涂黑*/bar(0,0,640,60);setcolor(RED);outtextxy(150,30,num1);/*輸出移動過程 */outtextxy(200,30,"->");outtextxy(310,30,num2);settextstyle(0,0,2);setfillstyle(SOLID_FILL,BLACK);/*把原來的地方移去涂黑*/bar(100+150*(x-97)-(33-3*numx-97.datanumx-97.top),400-20
7、*numx-97.top-8,100+150*(x-97)+(33-3*numx-97.datanumx-97.top),400-20*numx-97.top+8);numy-97.top+;/*入棧,目標點的top 加 1*/numy-97.datanumy-97.top=numx-97.datanumx-97.top;/*在目標點盤子的代號與源點盤子的代號相同 */numx-97.top-;/*出棧,原來地方的top 減 1*/setfillstyle(SOLID_FILL,numy-97.datanumy-97.top+1);/*盤子顏色代碼是棧頂盤子代號加1*/bar(100+150*(y-97)-(33-3*numy-97.datanumy-97.top),400-20*numy-97.top-8,100+150*(y-97)+(33-3*numy-97.datanumy-97.top),400-20*numy-97.top+8);有個問題要注意的是怎么實現(xiàn)手動控制,其實用下面的代碼就可以了:if(computer)/* 自動控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NX-1607-GMP-Cbl-b-IN-3-GMP-生命科學(xué)試劑-MCE-7412
- Isoorotidine-生命科學(xué)試劑-MCE-5873
- 3-Methoxy-prostaglandin-F1α-生命科學(xué)試劑-MCE-1002
- 二零二五年度紅木家具品牌授權(quán)合同及清單
- 二零二五年度父母無償贈與子女房產(chǎn)并約定維修責(zé)任協(xié)議
- 二零二五年度新能源儲能技術(shù)融資合同
- 施工現(xiàn)場施工防突發(fā)公共衛(wèi)生事件制度
- 施工單位關(guān)于協(xié)調(diào)配合的聯(lián)絡(luò)函
- 雨雪天氣的應(yīng)急預(yù)案
- 《運營管理 第7版》課件-chapt.05-選址與設(shè)施布置
- 2025年春季學(xué)期學(xué)校德育工作計劃安排表(完整版)
- 2025年有機肥行業(yè)發(fā)展趨勢分析報告
- 2023-2024年員工三級安全培訓(xùn)考試題及參考答案(綜合題)
- 2024年人教版初中英語九年級全冊單元測評與答案
- 【渞法】學(xué)會自我保護教學(xué)設(shè)計 七年級道德與法治下冊(統(tǒng)編版2024)
- 2025-2030年中國融雪劑行業(yè)運行動態(tài)及發(fā)展前景預(yù)測報告
- DB31∕T 1043-2017 暴雨強度公式與設(shè)計雨型標準
- 2025保安部年度工作計劃
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫
- 人居環(huán)境綜合治理項目項目背景及必要性分析
評論
0/150
提交評論