數(shù)據(jù)結(jié)構(gòu) 漢諾塔 c swift 版本

  • 漢諾塔
    題的意思
    http://www.360doc.com/content/12/0727/11/219024_226737868.shtml
    x, y , z代表三個柱子。 要把n個塊i移動到 z上。

  • swift 版本

                   ///x借助y移動到z
                  func move(n:Int,x:String,y:String,z:String){
                      // 當(dāng)n等一,就代表最后一個
                      if n == 1 {
                         print("\(x)->\(z)")
                      }else{
                          ///x 借助 z 移動到y(tǒng)
                          move(n-1, x: x, y: z, z: y)
                          ///x當(dāng)前的最后一個  移動到z
                          print("\(x)->\(z)")
                          ///然后把剩下的 y借助 x 移動到 z
                          move(n-1, x: y, y: x, z: z)
                      }
                    }
    
                      move(3, x: "x", y: "y", z: "z")
    
  • c++版本

                  ///x借助 y 移動到 z
                  void move(int n,char x, char y,char z){
                      ///如果n等一1, 就直接把 x 移動到z上面
                      if (1 == n){
                          std::cout<<x<<"->"<<z<<std::endl;
                      }else{
                          ///沒有等于1.
                          ///第一步先 把x上的借助z 移動到 y上
                          move(n-1, x, z, y);
                          ///現(xiàn)在都已經(jīng)移動到 y上
                          //然后移動第n個
                          std::cout<<x<<"->"<<z<<std::endl;
                          ///然后 再把 y上借助x移動到z
                          move(n-1, y, x, z);
                          /// 完成全部移動
                      }
                  }
    
                  int main() {
                      
                      int n = 0;
                      
                      std::cin>>n;
                      
                      move(n, 'x', 'y', 'z');
                      
                      return 0;
                  }
    

個人博客: www.liangtongzhuo.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,931評論 0 33
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,382評論 0 17
  • 【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,229評論 0 41
  • https://github.com/yjh4866/ExceedMVC
    yuditxj閱讀 128評論 0 0
  • 第一次在國外跨年,興奮又期待。31號達到迪拜,下午去逛街的時候,手機丟了。16年已經(jīng)丟過一次了,又一次發(fā)生,而且完...
    小喬分享記閱讀 780評論 1 6

友情鏈接更多精彩內(nèi)容