栈的应用-汉诺塔
来源:互联网 发布:淘宝赌石最好赌出什么 编辑:程序博客网 时间:2024/06/01 09:55
/**< 2014年4月23日 *//**< 汉诺塔 */#include <stdio.h>/** \brief 把第n个盘子从位置a移动到位置b * * \param n 盘子的编号 * \param a 源位置 * \param b 目标位置 * \return * */void move(int n, char a, char b){ /**< 把第n个盘子从位置a移动到位置b */ printf("move %d: %c -> %c\n", n, a, b);}/** \brief 汉诺塔 * * \param n 盘子的个数 * \param a 源位置 * \param b 空闲的位置 * \param c 目标位置 * \return * */void hanoi(int n, char a, char b, char c){ /**< 只有一个盘子,把它直接移动过去就可以了 */if (1 == n){move(n, a, c);return;} /**< 把a上面的n-1个盘子通过c移动到b上面去 */ hanoi(n-1, a, c, b); /**< 移动第n个盘子从a到c上面去 */ move(n, a, c); /**< 此时盘子都在b上面,再把b上面的n-1个盘子通过a移动到c上面去 */ hanoi(n-1, b, a, c);}int main(){int n = 0;printf("请输入汉诺塔的高度:");scanf("%d", &n);hanoi(n, 'A', 'B', 'C');return 0;}
0 0
- 栈的应用-汉诺塔
- 汉诺塔(栈的应用)
- 栈的应用-汉诺塔游戏
- NYOJ93 汉诺塔3(栈的应用)
- 汉诺塔(三) 栈的应用 STL
- 汉诺塔(三)栈的应用NYOJ93
- 汉诺塔的相关应用
- 汉诺塔的递归应用
- 栈&栈的应用
- 栈的应用
- 栈的应用
- 简单的栈应用
- 栈的应用
- 栈的简单应用
- 栈的应用
- 栈的应用
- hdu1022栈的应用
- 栈的应用举例
- 【数据结构】map和pair的配合使用
- linux开发必备的5本秘籍
- C语言str函数系列
- 两个float数的比较大小以及浮点数是否和0相等
- JMS学习笔记二--入门学习
- 栈的应用-汉诺塔
- 【Java TCP/IP Socket】01 TCP Socket(含代码)
- Linux 第二步
- POJ 1458 最长公共子序列的长度
- poj 1743 Musical Theme(后缀数组+二分)
- mongoose源码分析系列之Control socket pair
- Android之TimePicker和TimePickerDialog
- 二叉搜索树转化为双向链表
- mongoose源码分析系列之server_data