栈实现递归实现汉诺塔问题

Posted baorant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈实现递归实现汉诺塔问题相关的知识,希望对你有一定的参考价值。

 1 public class JavaDemo {
 2     private int c = 0;
 3 
 4     public static void main(String[] args) {
 5         JavaDemo demo = new JavaDemo();
 6         demo.hanoi(3, ‘x‘, ‘y‘, ‘z‘);
 7     }
 8     
 9     public void hanoi(int n, char x, char y, char z){
10     if(n == 1){
11         move(x, 1, z);
12     }else{
13         hanoi(n - 1, x, z, y);
14         move(x, n, z);
15         hanoi(n - 1, y, x, z);
16     }    
17     }
18     
19     public void move(char x, int n, char z){
20         System.out.println("第" + ++c + "次移动:" + n + "号圆盘," + x + "->" + z);
21     }
22 }

 

以上是关于栈实现递归实现汉诺塔问题的主要内容,如果未能解决你的问题,请参考以下文章

汉诺塔(Tower of Hanoi) 递归代码实现 c语言(顺序栈实现)

栈实现递归实现汉诺塔问题

数据结构--汉诺塔--借助栈实现非递归---Java

汉诺塔问题(递归栈)

面试题 08.06. 汉诺塔问题(非递归实现汉诺塔问题)

汉诺塔的C语言代码怎么写啊