亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++ 實(shí)現(xiàn)漢諾塔的實(shí)例詳解

 更新時(shí)間:2017年08月21日 10:10:19   投稿:lqh  
這篇文章主要介紹了C++ 實(shí)現(xiàn)漢諾塔的實(shí)例詳解的相關(guān)資料,這里主要說明C++中數(shù)據(jù)結(jié)構(gòu)的遞歸的應(yīng)用,需要的朋友可以參考下

C++ 實(shí)現(xiàn)漢諾塔的實(shí)例詳解

前言:

有A,B,C三塔,N個(gè)盤(從小到大編號為1-N)起初都在A塔,現(xiàn)要將N個(gè)盤全部移動(dòng)到C塔(按照河內(nèi)塔規(guī)則),求最少移動(dòng)次數(shù)以及每次的移動(dòng)詳細(xì)情況。

要求:

需要采用遞歸方法和消除尾遞歸兩種方法編寫。

盤數(shù)N由用戶從標(biāo)準(zhǔn)輸入讀入,以一個(gè)整數(shù)表示,然后請調(diào)用兩個(gè)方法按照下面例子所述分別在屏幕中輸出結(jié)果(正常情況下一個(gè)輸入數(shù)據(jù)會(huì)顯示同樣的輸出結(jié)果2次)。

實(shí)現(xiàn)代碼:

#include<iostream>
using namespace std;
void move(int count,char start='a',char finish='b',char temp='c')
{
 if(count>0)
 {
  move(count-1,start,temp,finish);
 cout<<"Move "<<count<<" from "<<start<<" to "<<finish<<endl;
 move(count-1,temp,finish,start);
 }
}
void move_without_recursion(int count,char start='a',char finish='b',char temp='c')
{
 char swap;
 while(count>0)
 {
  move_without_recursion(count-1,start,temp,finish);
 cout<<"Move "<<count<<" from "<<start<<" to "<<finish<<endl;
 count--;
 swap=start;
 start=temp;
 temp=swap;
 }
}
int main()
{
 int count;
 cout<<"please enter the number:";
 cin>>count;
 cout<<"遞歸方法運(yùn)行過程:"<<endl;
  move(count);
  cout<<"消除尾遞歸方法運(yùn)行過程:"<<endl;
  move_without_recursion(count);
return 0;
}


如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • C++設(shè)計(jì)模式之Static Factory模式詳解

    C++設(shè)計(jì)模式之Static Factory模式詳解

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之Static Factory模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • c++自定義sort()函數(shù)的排序方法介紹

    c++自定義sort()函數(shù)的排序方法介紹

    這篇文章主要介紹了c++自定義sort()函數(shù)的排序方法介紹,文章通過圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • C語言如何實(shí)現(xiàn)成績等級判別

    C語言如何實(shí)現(xiàn)成績等級判別

    這篇文章主要介紹了C語言如何實(shí)現(xiàn)成績等級判別,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言實(shí)現(xiàn)圖書管理系統(tǒng)

    C語言實(shí)現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++ 二叉搜索樹(BST)的實(shí)現(xiàn)方法

    C++ 二叉搜索樹(BST)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++ 二叉搜索樹(BST)的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下
    2017-04-04
  • 基于QT實(shí)現(xiàn)顯示OpenCV讀取的圖片

    基于QT實(shí)現(xiàn)顯示OpenCV讀取的圖片

    OpenCV自帶了一部分常用的GUI功能,但是更多的圖像處理功能需要其他GUI框架來輔助實(shí)現(xiàn),本文將通過QT來顯示OpenCV讀取的圖片,需要的可以參考一下
    2022-11-11
  • C++插入排序算法實(shí)例

    C++插入排序算法實(shí)例

    這篇文章主要介紹了C++插入排序算法實(shí)例,本文先是講解了什么插入排序,然后給出了C++代碼實(shí)例,需要的朋友可以參考下
    2014-10-10
  • 一文詳解C++子類函數(shù)為什么不能重載父類函數(shù)

    一文詳解C++子類函數(shù)為什么不能重載父類函數(shù)

    這篇文章主要介紹了一文詳解C++子類函數(shù)為什么不能重載父類函數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解

    C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解

    這篇文章主要介紹了C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字,默認(rèn)情況下結(jié)構(gòu)的所有成員均是公有的,而類的所有成員是私有的,需要的朋友可以參考下
    2016-01-01
  • C語言之實(shí)現(xiàn)輾轉(zhuǎn)相除法的兩種方式

    C語言之實(shí)現(xiàn)輾轉(zhuǎn)相除法的兩種方式

    這篇文章主要介紹了C語言之實(shí)現(xiàn)輾轉(zhuǎn)相除法的兩種方式,具有很好的參考價(jià)值,希望對大家有所幫助,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論