亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java求解漢諾塔問題示例

 更新時(shí)間:2014年02月21日 12:00:07   作者:  
漢諾塔問題的描述如下:有3根柱子A、B和C,在A上從上往下按照從小到大的順序放著一些圓盤,以B為中介,把盤子全部移動(dòng)到C上。移動(dòng)過程中,要求任意盤子的下面要么沒有盤子,要么只能有比它大的盤子。編程實(shí)現(xiàn)3階漢諾塔的求解步驟

思路如下:

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

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

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

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

相關(guān)文章

  • Spring中利用配置文件和@value注入屬性值代碼詳解

    Spring中利用配置文件和@value注入屬性值代碼詳解

    這篇文章主要介紹了Spring中利用配置文件和@value注入屬性值代碼詳解,代碼中注釋比較詳細(xì),具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java調(diào)用.dll文件的方法

    Java調(diào)用.dll文件的方法

    因?yàn)轫?xiàng)目的需求,要在JAVA項(xiàng)目中調(diào)用Windows的Dll(動(dòng)態(tài)鏈接庫)文件,之前用Jni調(diào)用過C寫的Dll文件,比較麻煩,這里不多說,網(wǎng)上也有很多這方面的文檔。在網(wǎng)上找到一個(gè)開源的組件JNative,使用后感覺比較方便
    2013-04-04
  • Hibernate用ThreadLocal模式(線程局部變量模式)管理Session

    Hibernate用ThreadLocal模式(線程局部變量模式)管理Session

    今天小編就為大家分享一篇關(guān)于Hibernate用ThreadLocal模式(線程局部變量模式)管理Session,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java中高效的判斷數(shù)組中某個(gè)元素是否存在詳解

    Java中高效的判斷數(shù)組中某個(gè)元素是否存在詳解

    相信大家在操作Java的時(shí)候,經(jīng)常會(huì)要檢查一個(gè)數(shù)組(無序)是否包含一個(gè)特定的值?這是一個(gè)在Java中經(jīng)常用到的并且非常有用的操作。同時(shí),這個(gè)問題在Stack Overflow中也是一個(gè)非常熱門的問題。本文將分析幾種常見用法及其時(shí)間成本,有需要的朋友們可以參考借鑒。
    2016-11-11
  • SpringBoot解決跨域的5種方式小結(jié)

    SpringBoot解決跨域的5種方式小結(jié)

    在項(xiàng)目開發(fā)中,時(shí)常會(huì)遇到跨域問題,本文主要介紹了五種解決跨域的方法,使用最多的是第三種,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • Java經(jīng)典算法匯總之冒泡排序

    Java經(jīng)典算法匯總之冒泡排序

    冒泡排序基本思想:在要排序的一組數(shù)中,對(duì)當(dāng)前還未排好序的范圍內(nèi)的全部數(shù),自上而下對(duì)相鄰的兩個(gè)數(shù)依次進(jìn)行比較和調(diào)整,讓較大的數(shù)往下沉,較小的往上冒。即:每當(dāng)兩相鄰的數(shù)比較后發(fā)現(xiàn)它們的排序與排序要求相反時(shí),就將它們互換。
    2016-04-04
  • 詳解Java Spring AOP

    詳解Java Spring AOP

    這篇文章主要為大家介紹了Java Spring AOP,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • spring?@Transactional注解中常用參數(shù)詳解

    spring?@Transactional注解中常用參數(shù)詳解

    這篇文章主要介紹了spring?@Transactional注解中常用參數(shù)詳解,事物注解方式:?@Transactional,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Logback的使用及如何配置

    Logback的使用及如何配置

    這篇文章主要介紹了Logback的使用及如何配置,幫助大家更好的理解和學(xué)習(xí)使用Logback,感興趣的朋友可以了解下
    2021-03-03
  • SpringBoot SSE服務(wù)端主動(dòng)推送事件的實(shí)現(xiàn)

    SpringBoot SSE服務(wù)端主動(dòng)推送事件的實(shí)現(xiàn)

    本文主要介紹了SpringBoot SSE服務(wù)端主動(dòng)推送事件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論