国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java求解漢諾塔問題示例

2019-11-26 15:40:48
字體:
供稿:網(wǎng)友

思路如下:

要實現(xiàn)3階漢諾塔的求解步驟,也就是說初始狀態(tài)時,A上從上到下有三個盤子,分別為1號盤、2號盤和3號盤,其中1號盤最小,3號盤最大;
判斷剩余盤子個數(shù),如果只有一個盤子就退出迭代,如果有大于一個盤子就繼續(xù)迭代。
代碼如下:

復(fù)制代碼 代碼如下:

public class HanoiTower {
    public static void moveDish(int level, char from, char inter, char to) {
        if (level == 1) {// 如果只有一個盤子就退出迭代
            System.out.println("從 " + from + " 移動盤子 1 號到 " + to);
        } else {// 如果有大于一個盤子就繼續(xù)迭代
            moveDish(level - 1, from, to, inter);
            System.out.println("從 " + from + " 移動盤子 " + level + " 號到 " + to);
            moveDish(level - 1, inter, from, to);
        }
    }

    public static void main(String[] args) {
        int nDisks = 3;// 設(shè)置漢諾塔為3階
        moveDish(nDisks, 'A', 'B', 'C');// 實現(xiàn)移動算法
    }
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 聊城市| 土默特右旗| 承德市| 天长市| 莒南县| 太和县| 承德县| 射阳县| 师宗县| 罗山县| 寻甸| 广元市| 勃利县| 武陟县| 永嘉县| 岳阳市| 南和县| 伊川县| 南部县| 页游| 左云县| 阳泉市| 温泉县| 河东区| 东乡族自治县| 邛崃市| 苏尼特左旗| 涟源市| 名山县| 厦门市| 额济纳旗| 嘉义市| 孝感市| 嘉定区| 资兴市| 罗平县| 子长县| 班玛县| 马山县| 玉环县| 灯塔市|