void hanoi(int n,char one,char two,char three)
{
if(n==1)
move(n,one,three); //将第n个盘从第1个柱子移到第3个柱子
else
{
hanoi(n-1,one,three,two); //将上面的n-1个盘从第1个柱子通过第3个柱子移动到第2个柱子
move(n,one,three);
hanoi(n-1,two,one,three);
}
}
void move(int n,char x,char y)
{
printf("%d %c %c\n",n,x,y);
}
分享到:
相关推荐
程序设计 汉诺塔算法演示
这是个汉诺塔程序,在调试的时候,输入的数字最好不要大于15,因为每大一个数 所得的结果的步骤都会多一倍。如果你有耐心等待结果的话除外。汉诺塔是在欧洲 流行的一种游戏,有a,b,c三个竿。a竿上有若干个由大到小的...
汉诺塔的算法流程 仅供参考,本程序,可以实现N个盘子的汉诺塔排序,并在屏幕上显示操作步骤
采用C++ Buidler开发环境,C++ 语言,结合线程技术,将经典的汉诺塔算法的执行过程动态的演示出来,对于用户理解汉诺塔算法产生巨大的帮助
汉诺塔 (又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放...
知道汉诺塔的同学,有想知道其中原理的,可以看看,一个小游戏,需要源码的发邮件至:568954956@qq.com,VS2010
这个程序是汉诺塔算法的可视化软件,如果在学习这个算法但是始终搞不清时可以使用这个软件帮助理解。
汉诺塔算法 C++ 有截图 结果如下: 请输入盘子数:4 各步骤如下: A-->B A-->C B-->C A-->B C-->A C-->B A-->B A-->C B-->C B-->A C-->A B-->C A-->B A-->C B-->C 总步骤数为:15 Press any key to continue
数据结构 汉诺塔算法
一步步演示汉诺塔算法的执行流程
汉诺塔算法的演示,比较简单
网上看来的,比较详细。包含了递归以及不用递归的代码。 C和C++版的都有。
里面有递归和非递归算法,画图板,换位递归
//程序实现了mystack栈的声明和定义,并且通过函数 //move_stacks的递归调用和函数move_a_ring实现汉 //诺塔的算法,并用函数print_stacks和pr_chars实现汉诺 //塔的动画效果
今天看到了汉诺塔算法,自己实现了,并将移动过程在界面上演示出来,共入门的参考。
VC 汉诺塔算法
VC++汉诺塔算法.7z
汉诺塔算法的非递归演示.doc