您的位置:首页 > 职场人生

黑马程序员-递归思想,汉罗塔

2012-07-17 16:25 281 查看
----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

主要运用递归思想。代码如下:

class HanoiDemo
{

public static void main(String[] args)
{
Hanoi h = new Hanoi();
h.hanoi(5,'A','B','C');
}
}
class Hanoi
{
private static int count = 0;//计数器
//将塔座a上按直径由小到大且自上而下编号为1到n的n个
//圆盘搬到塔座c上,b可用于辅助塔座
public void hanoi(int n,char a,char b,char c)
{
if(n == 1)
move(a,1,c);//将编号为1的圆盘从塔座a搬到塔座c上
else
{
//将塔座a上编号为1到n-1的圆盘搬到塔座b,c作为辅助塔
hanoi(n-1,a,c,b);
//将塔座a上编号为n的圆盘搬到塔座c上
move(a,n,c);
//将塔座b上编号为1到n-1的圆盘搬到塔座c上,a作为辅助塔
hanoi(n-1,b,a,c);
}
}
//搬动操作
public void move(char a,int n,char c)
{
System.out.println("第"+(count++)+"次搬运:"+"将塔座"+a+"上的圆盘"+n+"搬到塔座"+c);
}
}
----------- android培训java培训、java学习型技术博客、期待与您交流! ------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: