为了账号安全,请及时绑定邮箱和手机立即绑定

在java中使用递归的河内塔

在java中使用递归的河内塔

波斯汪 2023-06-08 20:00:25
河内塔中的每个堆栈如何问题如何逐行执行我不太明白每个堆栈的创建方式???public class TowerOfHanoi {    public static void towerOfHanoi(int disks, char source, char auxiliary, char destination) {        if (disks == 0) {            return;        }        towerOfHanoi(disks - 1, source, destination, auxiliary);        System.out.println(source + " " + destination);        towerOfHanoi(disks - 1, auxiliary, source, destination);    }    public static void main(String[] args) {        towerOfHanoi(4, 'a', 'b', 'c');    }}
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

这个应该工作:


private static void hanoiTower(int n, char from_rod, char to_rod, char aux_rod){

    if(n == 1){

        System.out.println("Move disk 1 from rod " +  from_rod + " to rod " + to_rod);

        return;

    }

    hanoiTower(n-1, from_rod, aux_rod, to_rod);

    System.out.println("Move disk " + n + " from rod " +  from_rod + " to rod " + to_rod);

    hanoiTower(n-1, aux_rod, to_rod, from_rod);

}


查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信