1. 程式人生 > >遞迴演算法處理漢諾塔

遞迴演算法處理漢諾塔

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');
}
}