大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > java实现汉诺塔

java实现汉诺塔

关键词:java汉诺塔java实现汉诺塔  阅读(1017) 赞(20)

[摘要]本文主要是对java实现汉诺塔的讲解,希望对大家学习java实现汉诺塔有所帮助。

  汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

  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



相关评论