最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實現(xiàn)漢諾塔算法經(jīng)典實例

 更新時間:2014年07月24日 11:46:35   投稿:shichen2014  
這篇文章主要介紹了C++實現(xiàn)漢諾塔算法經(jīng)典實例,代碼簡潔高效,對于學(xué)習(xí)算法的朋友有一定的借鑒價值,需要的朋友可以參考下

本文所述為漢諾塔算法的C++代碼的經(jīng)典實現(xiàn)方法。

漢諾塔問題描述:3個柱為a、b、c,圓盤最初在a柱,借助b柱移到c柱。需要你指定圓盤數(shù)。

具體實現(xiàn)代碼如下:

#include <iostream>
using namespace std;
int times = 0; //全局變量,搬動次數(shù)
//第n個圓盤從x柱搬到z柱
void move(int n, char x, char z)
{
  cout << "第" << ++times << "步: 將" << n << "號盤從" << x << "移到" << z << endl;
}
//將x柱上按直徑自上而下由小到大編號為1至n的n個圓盤按規(guī)則搬到z柱上。y用作輔助柱
void hanoi(int n, char x, char y, char z)
{
 if (n == 1)
 move(1, x, z); //將編號為1的圓盤從x移到z
 else {
 hanoi(n - 1, x, z, y); //將x上編號為1至n-1的圓盤移到y(tǒng),z作輔助柱
 move(n, x, z);     //將編號為n的圓盤從x移到z
 hanoi(n - 1, y, x, z); //將y上編號為1至n-1的圓盤移到z,x作輔助柱
 }
}
int main()
{
 int n;
 cout << "3個柱為a、b、c,圓盤最初在a柱,借助b柱移到c柱。請輸入圓盤數(shù):";
 cin >> n;
 hanoi(n, 'a', 'b', 'c');
 system("pause");
 return 0;
}

相關(guān)文章

  • C++學(xué)習(xí)之cstdbool和cstddef頭文件封裝源碼分析

    C++學(xué)習(xí)之cstdbool和cstddef頭文件封裝源碼分析

    這篇文章主要為大家介紹了C++學(xué)習(xí)之cstdbool和cstddef頭文件封裝源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Qt QFtp客戶端實現(xiàn)上傳下載文件

    Qt QFtp客戶端實現(xiàn)上傳下載文件

    本文主要介紹了Qt QFtp客戶端實現(xiàn)上傳下載文件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Visual Studio Code配置C/C++開發(fā)環(huán)境的教程圖解

    Visual Studio Code配置C/C++開發(fā)環(huán)境的教程圖解

    這篇文章主要介紹了Visual Studio Code配置C/C++開發(fā)環(huán)境的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 簡單舉例說明C++中break和continue語句的用法

    簡單舉例說明C++中break和continue語句的用法

    這篇文章主要介紹了簡單舉例說明C++中break和continue語句的用法,是C++入門學(xué)習(xí)中的基礎(chǔ)只是,需要的朋友可以參考下
    2015-09-09
  • c++拷貝構(gòu)造函數(shù)防篡改示例

    c++拷貝構(gòu)造函數(shù)防篡改示例

    這篇文章主要介紹了拷貝構(gòu)造函數(shù)防篡改示例,需要的朋友可以參考下
    2014-04-04
  • C++形參與實參的區(qū)別實例解析

    C++形參與實參的區(qū)別實例解析

    這篇文章主要介紹了C++形參與實參的區(qū)別實例解析,需要的朋友可以參考下
    2014-07-07
  • C語言詳細講解二分查找用法

    C語言詳細講解二分查找用法

    二分查找法,又叫做折半查找法,它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲結(jié)構(gòu),而且表中元素按關(guān)鍵字有序排列
    2022-04-04
  • C++學(xué)生信息管理系統(tǒng)

    C++學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家想詳細介紹了C++學(xué)生信息管理系統(tǒng)的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • C語言實現(xiàn)餐廳管理系統(tǒng)

    C語言實現(xiàn)餐廳管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)餐廳管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++內(nèi)存模型和名稱空間詳解

    C++內(nèi)存模型和名稱空間詳解

    這篇文章主要給大家介紹了關(guān)于C/C++中的內(nèi)存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用c/c++具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧
    2021-09-09

最新評論

上栗县| 汤阴县| 永泰县| 富顺县| 汤原县| 吉木乃县| 苍溪县| 集安市| 金湖县| 鞍山市| 固原市| 红原县| 郧西县| 舟曲县| 县级市| 德令哈市| 鹤岗市| 宜兰市| 县级市| 文安县| 阿拉善左旗| 达州市| 锡林浩特市| 靖西县| 庆元县| 洛宁县| 松潘县| 汝阳县| 老河口市| 扶余县| 金湖县| 迭部县| 云南省| 邹平县| 霍城县| 秦安县| 灵武市| 福州市| 长兴县| 东山县| 广元市|