首页 > 代码库 > Java数据结构系列之——递归(1):汉若塔(HanoiTower)问题
Java数据结构系列之——递归(1):汉若塔(HanoiTower)问题
package recursion; public class Hanroitower { public static void main(String[] args) { hanroitower(3,'A','B','C'); } public static void hanroitower(int n,char X,char Y,char Z){ if(n==1){ System.out.println("圆盘1从"+X+"移动到"+Z); }else{ hanroitower(n-1,X,Z,Y);//将x上编号为1到n-1的圆盘移动到y,z作为辅助塔 System.out.println("圆盘"+n+"从"+X+"移动到"+Z);//将编号为n的圆盘从x移动到z hanroitower(n-1, Y, X, Z);//将Y上编号为1到n-1的圆盘移动到Z,x作为辅助塔 } } }
输出为:
圆盘1从A移动到C
圆盘2从A移动到B
圆盘1从C移动到B
圆盘3从A移动到C
圆盘1从B移动到A
圆盘2从B移动到C
圆盘1从A移动到C
Java数据结构系列之——递归(1):汉若塔(HanoiTower)问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。