hanoi.cpp
来自「数据结构课程实验之一」· C++ 代码 · 共 35 行
CPP
35 行
#include "iostream.h"
int counter=0; //用于统计操作的步骤数
void move(char one,char two){
cout<<"\t"<<one<<"-->"<<two<<endl;
counter++;
}
void Hanoi(int n,char one,char two,char three){ //汉诺塔问题的递归实现
if(n==1) move(one,three);
else{
Hanoi(n-1,one,three,two);
move(one,three);
Hanoi(n-1,two,three,one);
}
}
void main()
{
int n;
char one,two,three;
cout<<"此为汉诺塔的简单实现,设三个支架依次为 A,B,C\n";
cout<<" 请输入盘子的个数 n : "<<endl;
cin>>n;
one='A';
two='B';
three='C';
cout<<"移动的步骤为:\n";
Hanoi(n,one,two,three);
cout<<"总的操作步骤为: "<<counter<<endl;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?