java如何实现汉诺塔
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。以下是小编为大家搜索整理的java如何实现汉诺塔,希望能给大家带来帮助!更多精彩内容请持续关注我们应届毕业生考试网!
public class Hanoi {
/**
*
* @param n
*
盘子的'数目
* @param A
*
源座
* @param B
*
辅助座
* @param C
*
目的座
*/
public void hanoi(int n, char A, char B, char C) {
if (n == 1) {
move(A, C);
} else {
hanoi(n - 1, A, C, B);
move(A, C);
hanoi(n - 1, B, A, C);
}
}
// 打印移动路径
private void move(char A, char C) {
tln("Direction:" + A + "--->" + C);
}
public static void main(String[] args) {
Hanoi hanoi = new Hanoi();
i(3, '1', '2', '3');
} }
打印结果:
Direction:1--->3
Direction:1--->2
Direction:3--->2
Direction:1--->3
Direction:2--->1
Direction:2--->3
Direction:1--->3
-
Java内存溢出的解决方法
一、内存溢出类型1、fMemoryError:PermGenspaceJVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果webapp用了大量的第三方jar或者应用有太...
-
Java程序员面试题集50道
本文是本站小编搜索整理的关于Java程序员面试题集50道,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,对hashCode方法的设计、垃圾收集的堆和代进行剖析,供参考学习,感兴趣的小伙伴们可以参考一下!想了解更多相关信息请持续关注我们应届毕业生考试...
-
如何学好Java语言编程
决定好想学什么编程语言了吗,现在就让我们开始学习吧。所有你需要做的就是打开一本书,然后开始阅读,是这样的吗?不全是这样的。learn-first我会给出学习第一门编程语言的理想方法布局,你不仅应该学习这个布局方法,还应该享受精通它——如果不能掌握的话。学习第一门...
-
新手如何学习Java
Java作为一门高级编程语言在信息科技时代有着广泛的应用。新手如何学习Java呢?下面小编来给大家介绍Java的学习方法,希望对大家有帮助!1理解Java思想Java是一门面向对象编程语言。向对象编程是Java最核心的思想,这也是区分和C等其他编程语言的一个显著特征。掌握...