您当前的位置: 首页 >  Java

程序员一灯

暂无认证

  • 3浏览

    0关注

    152博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java数据结构-汉诺塔

程序员一灯 发布时间:2021-10-21 23:13:23 ,浏览量:3

1、使用递归实现
public class HanoiTower {
	
	/**
	 * 移动盘子
	 * topN:移动的盘子数
	 * from:起始塔座
	 * inter:中间塔座
	 * to:目标塔座
	 */
	public static void doTower(int topN,char from,char inter,char to) {
		if(topN == 1) {
			System.out.println("盘子1,从"+ from + "塔座到" + to + "塔座");
		} else {
			doTower(topN - 1, from, to, inter);
			System.out.println("盘子" + topN +",从" + from + "塔座到" + to + "塔座" );
			doTower(topN - 1, inter, from, to);
		}
	}
}

二、调用
public class TestHanoiTower {
	public static void main(String[] args) {
		HanoiTower.doTower(5, 'A', 'B', 'C');
	}
}
三、输出
盘子1,从A塔座到C塔座
盘子2,从A塔座到B塔座
盘子1,从C塔座到B塔座
盘子3,从A塔座到C塔座
盘子1,从B塔座到A塔座
盘子2,从B塔座到C塔座
盘子1,从A塔座到C塔座
盘子4,从A塔座到B塔座
盘子1,从C塔座到B塔座
盘子2,从C塔座到A塔座
盘子1,从B塔座到A塔座
盘子3,从C塔座到B塔座
盘子1,从A塔座到C塔座
盘子2,从A塔座到B塔座
盘子1,从C塔座到B塔座
盘子5,从A塔座到C塔座
盘子1,从B塔座到A塔座
盘子2,从B塔座到C塔座
盘子1,从A塔座到C塔座
盘子3,从B塔座到A塔座
盘子1,从C塔座到B塔座
盘子2,从C塔座到A塔座
盘子1,从B塔座到A塔座
盘子4,从B塔座到C塔座
盘子1,从A塔座到C塔座
盘子2,从A塔座到B塔座
盘子1,从C塔座到B塔座
盘子3,从A塔座到C塔座
盘子1,从B塔座到A塔座
盘子2,从B塔座到C塔座
盘子1,从A塔座到C塔座

关注
打赏
1645367472
查看更多评论
立即登录/注册

微信扫码登录

0.0359s