java如何实现汉诺塔
来源:才华咖 本文已影响2.51W人
来源:才华咖 本文已影响2.51W人
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着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
如何实现javascript去除字符串里中文与空格
如何实现职场华丽“转身”
使用JavaScript实现Java的List功能
Java如何通过Socket实现TCP服务端
如何实现bootstrap jquery dataTable异步ajax刷新表格数据
从Java的jar文件中如何读取数据的方法
如何实现梦想
如何写现实表现
如何使用JavaScript实现香港身份格式及真伪性验证
经典Java面试题之Java中Char类型的运算
如何利用Java技术实现两个不同数据库之间的数据交换
Java 队列实现原理及简单实现代码
java使用动态代理来实现AOP
Java byte[]转int如何实现
JAVA认证开源技术:关于Java的对象equals方法
如何使用javascript实现瀑布流及效果加载
Java类库及其组织结构(Java API)
Java 2.1 java基本类型的转换和运算符
深入解析hashmap,java实现原理
java如何读取CSV
在Mac上如何卸载Java
如何在Mac上卸载Java
Java动态代理实现AOP的方法
如何在Mac上安装Java
如何在Dreamweaver中为网页插入Java程序