java语言

java如何实现汉诺塔

时间:2025-01-31 18:11:50 java语言 我要投稿

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) {

  System.out.println("Direction:" + A + "--->" + C);

  }

  public static void main(String[] args) {

  Hanoi hanoi = new Hanoi();

  hanoi.hanoi(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如何实现汉诺塔】相关文章:

如何实现java汉诺塔递归算法04-20

幼儿心育游戏《有趣的汉诺塔》教案03-27

java通用组合算法如何实现05-12

Java中如何实现显示动态的时间03-14

java如何实现后台自动发邮件功能03-09

如何在java中实现左右键菜单03-20

Java如何实现一个简单的缓存04-13

Java笔试试题如何实现对象克隆?03-23

如何正确实现Java中的hashCode方法08-08