递归算法处理汉诺塔

package com.cn.ygm.hanoiTower;
public class HanoiTower {
/**
* 移动盘子
* topN:移动的盘子数
* from:起始塔座
* inter:中间塔座
* to:目标塔座
*/
public static void doTower(int topN,char from,char inter,char to) {
if(topN == 1){
System.out.println("盘子1,从" + from + "塔座到" + to + "塔座");
} else {
doTower(topN - 1,from, to ,inter);
System.out.println("盘子" + topN + ",从" + from + "塔座到" + to + "塔座");
doTower(topN - 1,inter, from ,to);
}
}

}


package com.cn.ygm.hanoiTower;
public class TestHanoiTower {
public static void main(String[] args) {
HanoiTower.doTower(2, 'A', 'B', 'C');
}
}

猜你喜欢

转载自blog.csdn.net/y13g14m/article/details/79625153