
正文
汉诺塔Java实现
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
public class Hanoi {
public static void main(String[] args ) {
Hanoi hanoi = new Hanoi();
hanoi.hanoi(8,'a','b','c');
} //圆盘个数,三根柱子,作为参数
public void hanoi(int n,char x,char y,char z){
if (n==1 ){
//只有一个圆盘直接移动从x到z
move(x,n,z);
}else {
//多个圆盘,先将n-1个从x移动到y,通过z辅助
hanoi(n-1,x,z,y);
//将最下边的移动从x到z
move(x,n,z);
//再将剩余的n-1个从y移动到z,通过x辅助
hanoi(n-1,y,x,z);
}
} public void move(char x,int n,char z){
System.out.println("移动圆盘"+n+",从"+x+"到"+z);
}
}







