並べ替えアルゴリズム8:再帰-ハノタ
599 ワード
再帰--ハノタ一、問題説明 二、アルゴリズム思想 三、コード 一、問題の説明
テーブルの上には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柱へ移動することを終了条件とする
三、コード
結果:A to C A to B C to B A to C B to A B to C A to C
テーブルの上には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