国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 乌海市| 辽源市| 巴青县| 宜川县| 抚顺市| 资阳市| 泰州市| 马龙县| 岐山县| 同心县| 阿合奇县| 南丰县| 漯河市| 会同县| 施甸县| 淮滨县| 崇义县| 榆社县| 冕宁县| 西林县| 隆昌县| 论坛| 嘉黎县| 秦皇岛市| 德庆县| 子洲县| 台湾省| 西藏| 廊坊市| 永平县| 紫阳县| 古田县| 金平| 淅川县| 历史| 泸西县| 永年县| 即墨市| 南川市| 唐河县| 乌审旗|