您的位置:首页 > 其它

汉诺塔--递归经典

2014-01-26 15:37 148 查看
//
//  main.cpp
//  递归2_汉诺塔
//
//  Created by WeiZhen_Liu on 1/26/14.
//  Copyright (c) 2014 WeiZhen_Liu. All rights reserved.
//

#include <iostream>
using namespace std;

void hanio(int n, char a, char b, char c);
void move(char a, char b);

int main(int argc, const char * argv[])
{
int n;
cout << "输入盘子数量:";
cin >> n;
hanio(n, 'A', 'B', 'C');
return 0;
}

void hanio(int n, char a, char b, char c)
{
if (n == 1) {
move(a, c);
} else {
hanio(n-1, a, c, b);
move(a, c);
hanio(n-1, b, a, c);
}
}

void move(char a, char b)
{
cout << a << "-->" << b << endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: