汉诺塔问题学习心得(始终保持大盘在下,小盘在上):
void Hanoi(int n, int A, int B,int C) // 规则:将A的盘子从大到小的移动到B上,并以C为辅助
{
if ( n > 0 )
{
Hanoi(n-1,A,C,B); // 将A上移动到C上,以B为辅助
Move(n,A,B); // 将A上的编号为n的盘子(即要求的最大的盘子)移动到B(最终目标)上
Hanoi(n-1,C,B,A); // C -> B,以A为辅助
}
}
汉诺塔问题学习心得(始终保持大盘在下,小盘在上):
void Hanoi(int n, int A, int B,int C) // 规则:将A的盘子从大到小的移动到B上,并以C为辅助
{
if ( n > 0 )
{
Hanoi(n-1,A,C,B); // 将A上移动到C上,以B为辅助
Move(n,A,B); // 将A上的编号为n的盘子(即要求的最大的盘子)移动到B(最终目标)上
Hanoi(n-1,C,B,A); // C -> B,以A为辅助
}
}