欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

hanoi塔java_Java实现hanoi塔

发布时间:2024/7/19 java 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 hanoi塔java_Java实现hanoi塔 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

学习数据结构绕不过会遇到汉诺塔的问题,这个也比较经典,问题我也不详细描述了。

简单来说三根木桩,初始状态下一根木桩上叠放着n个盘子,大盘在下小盘在上,任你操作,把这些盘子移动到第三根木桩,当然会有限制条件,限制条件如下:

1.每次只能移动最上面的一个盘子

2.移动过程中小盘子必须放在大盘子上面

其实编程实现的话就是递归的思想,比较典型的递归实例,所以基本各个书都会提到。

下面直接看代码吧import java.io.*;

import java.util.Scanner;

public class CH04_04 {

public static void main(String[] args) throws IOException {

Scanner input=new Scanner(System.in);

System.out.print("请输入盘子数量: ");

String str=input.nextLine();

int i=Integer.parseInt(str);

System.out.println("移动步骤如下: ");

hanoi(i,'A','B','C');

}

/*将n个盘子从柱子A经柱子B移动到柱子C*/

public static void hanoi(int n,char A,char B,char C) {

if(n==1) {

System.out.println("盘子从 "+A+" 移到 "+C);

}

else {

hanoi(n-1,A,C,B);

System.out.println("盘子从 "+A+" 移到 "+C);

hanoi(n-1,B,A,C);

}

}

}

输入n=3,结果如下

总结

以上是生活随笔为你收集整理的hanoi塔java_Java实现hanoi塔的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。