永发信息网

java编写对n个盘子移动的Hano塔递归程序.

答案:1  悬赏:40  手机版
解决时间 2021-03-09 07:16
  • 提问者网友:人生佛魔见
  • 2021-03-08 11:14
著名的hanoi塔问题是这样的有个直径不同的圆盘套在一个针源上,现要将这些盘子移到另一根针目标上,移动时,必须保证小盘子在大盘子上方,且一次移动一个盘子。为了使得移动能够进行,可借助一根辅助针。
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-03-08 12:45
public class Hanoi {
  public void hanoi(int n,char origin,char assist,char destination) {
  if (n == 1) {
  move(origin,destination);
  } else {
  hanoi(n - 1,origin,destination,assist);
  move(origin,destination);
  hanoi(n - 1,assist,origin,destination);
  }
  }
  // Print the route of the movement
  private void move(char origin,char destination) {
  System.out.println("Direction:" + origin + "--->" + destination);
  }
  public static void main(String[] args) {
  Hanoi hanoi = new Hanoi();
  hanoi.hanoi(3,'A','B','C');
  }
  }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯