並べ替えアルゴリズム8:再帰-ハノタ


再帰--ハノタ
  • 一、問題説明
  • 二、アルゴリズム思想
  • 三、コード
  • 一、問題の説明
    テーブルの上にはA B Cの3本の柱があり、A柱の上には小さいから大きいn個の円盤があり、B柱を借りてすべての円盤をC柱の上に移動します.要件:小さなディスクは大きなディスクの上にある必要があります.
    二、アルゴリズム思想
    1、前n-1個を前n-1個からA柱からB柱2へ、第n個をA柱からC柱3へ、前n-1個をB柱からC柱へ、最後の1個をC柱へ移動することを終了条件とする
    三、コード
    #include 
    
    using namespace std;
    
    void HanNuoTa(int,char,char,char);
    
    int main()
    {
        HanNuoTa(3,'A','B','C');
        return 0;
    }
    
    void HanNuoTa(int n,char a,char b,char c){
        if(n==1){
            cout<

    結果:A to C A to B C to B A to C B to A B to C A to C