汉诺塔问题的解

package algorithm;
/**
 * 汉诺塔问题的求解
 * @author su
 *
 */
public class Hamoi {
	public static void main(String[] args) {
		//两层汉诺塔调用
		//hamoi(2, 'A', 'B', 'C');
		//三层汉诺塔调用
		hamoi(3, 'A', 'B', 'C');
	
	}
	/**
	 * 
	 * @param n   表示总块数
	 * @param a   最初的柱子位置
	 * @param b   中间辅助的柱子位置
	 * @param c   最终放的柱子位置
	 */
	private static void hamoi(int n, char a,char b, char c){
		if(n == 1){
			System.out.println(a + "--->"+ c);
		}else{
			hamoi(n-1, a, c, b);
			System.out.println(a + "--->"+ c);
			hamoi(n-1, b, a, c);
		}
	}

}

猜你喜欢

转载自blog.csdn.net/yao_94/article/details/82949778