tower.cpp
来自「包含各种测试,查找和算法等代码,如冒泡算法,树的遍历,链表,队列,堆栈等」· C++ 代码 · 共 33 行
CPP
33 行
#include <iostream.h>
void Towers(int n, char fromPeg, char auxPeg, char toPeg)
// 把n个盘子从fromPeg借助auxPeg移至toPeg
{
if(n==1) //递归出口
{
cout << "Move Disk 1 from Peg " << fromPeg
<< " to Peg " << toPeg << endl;
return;
}
// 把n-1个盘子从fromPeg借助toPeg移至auxPeg
Towers(n-1, fromPeg, toPeg, auxPeg);
//把盘子n由fromPeg直接移至toPeg
cout << "Move Disk " << n << " from Peg "
<< fromPeg << " to Peg " << toPeg << endl;
//把n-1个盘子再从auxPeg借助fromPeg移至toPeg
Towers(n-1, auxPeg, fromPeg, toPeg);
}
void main(void)
{
int n;
cout << "输入盘子个数:";
cin >> n;
Towers(n,'A','B','C');
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?