关于函数递归问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:25:16
本人初学C++在函数递归程序方面看不懂
void move(char getone,char putone)
{
cout<<getone<<"-->"<<putone<<endl;
}
void hanoi(int n,char one,char two,char three)
{
void move(char getone,char putone);
if(n==1)move(one,three)
else
{hanoi(n-1,one,three,two)
move(one,three)
hanoi(n-1,two,one,three)
}
}
本人初学C++
主要
else
{hanoi(n-1,one,three,two)
move(one,three)
hanoi(n-1,two,one,three)
这里看不明白 不知道他怎么运行

hanoi函数的功能是移动n个'盘'
else
{hanoi(n-1,one,three,two) //这里先把n-1个盘移动到2号位置上
move(one,three)//把剩下的那个盘移到3号位置上
hanoi(n-1,two,one,three) //再把2号位置上的n-1个盘移动到3号位置上
这样所用的盘都移动到目标位置上了