数据结构学习之汉诺塔代码

来源:互联网 发布:稻叶浩志 知乎 编辑:程序博客网 时间:2024/06/05 05:54
/*** Name: Hanoi Tower** Author: No.20** Time: 2013年8月19日** Programming Language: C++** Description: Recursion implement Hanoi Tower*/# include <iostream>using std::cout;using std::cin;using std::endl;//Declaration of functionint Hanoi(int , char , char , char );int main(){cout<<"Please input the number of disk:";int diskNumber;cin>>diskNumber;char a('A'), b('B'), c('C');int step;step = Hanoi(diskNumber,a,b,c);cout<<"Total Step:"<<step<<endl;return 0;}int Hanoi(int n, char a, char b, char c){static int step = 0;if(1 == n || 0 == n){cout<<"Move No."<<n<<" "<<a<<"->"<<c<<endl;++step;}else{Hanoi(n-1,a,c,b);cout<<"Move No."<<n<<" "<<a<<"->"<<c<<endl;step++;Hanoi(n-1,b, a, c);}return step;}

原创粉丝点击