最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java算法中的歸并排序算法代碼實(shí)現(xiàn)

 更新時(shí)間:2023年12月12日 08:41:12   作者:warybee  
這篇文章主要介紹了Java算法中的歸并排序算法代碼實(shí)現(xiàn),歸并排序使用的是分治思想(Divide and Conquer),分治,顧名思義,就是分而治之,是將一個(gè)大問題分解成小的子問題來解決,需要的朋友可以參考下

Java歸并排序算法

1、排序原理

歸并排序使用的是分治思想(Divide and Conquer),分治,顧名思義,就是分而治之,是將一個(gè)大問題分解成小的子問題來解決。小的子問題解決了,大問題也就解決了。

歸并排序的核心思想是:如果要排序一個(gè)數(shù)組,先把數(shù)組從中間分成前后兩部分,然后再分解,直到每個(gè)子序?qū)χ兄皇R粋€(gè)元素,最后通過遞歸,層層合并。

在這里插入圖片描述

2、代碼實(shí)現(xiàn)

public static int[] mergeSort(int[] array) {        if (array.length <=1) return array;        //取數(shù)組的中間位置        int mid = array.length>>1;        //數(shù)組拆分        int[] left = Arrays.copyOfRange(array, 0, mid);        int[] right = Arrays.copyOfRange(array, mid, array.length);        //遞歸調(diào)用        int[] result=merge(mergeSort(left), mergeSort(right));        return result;    }    /**     *  合并,     * @param left  拆分后左側(cè)數(shù)組     * @param right 拆分后右側(cè)數(shù)組     * @return     */    public static int[] merge(int[] left, int[] right) {        int[] result = new int[left.length + right.length];        int i=0,j=0; // i用來標(biāo)識(shí)左側(cè)數(shù)組 , j用來標(biāo)識(shí)右側(cè)數(shù)組        for (int index = 0; index < result.length; index++) {            //如果i 大于左側(cè)數(shù)組,說明左側(cè)已經(jīng)沒有多余的數(shù)組,將剩余的數(shù)據(jù)拷貝到臨時(shí)數(shù)組            if (i >= left.length) {                result[index] = right[j++];            }            //如果j大于右側(cè)數(shù)組,說明右側(cè)已經(jīng)沒有多余的數(shù)組,將剩余的數(shù)據(jù)拷貝到臨時(shí)數(shù)組            else if (j >= right.length) {                result[index] = left[i++];            }            //比較兩個(gè)數(shù)組,如果左側(cè)大于右側(cè)數(shù)組,就將右側(cè)數(shù)組放入到臨時(shí)數(shù)組            else if (left[i] > right[j]) {                result[index] = right[j++];            }            else{//就將左側(cè)數(shù)組放入到臨時(shí)數(shù)組                result[index] = left[i++];            }        }        return result;    }

到此這篇關(guān)于Java算法中的歸并排序算法代碼實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java歸并排序算法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot中websocket簡單實(shí)現(xiàn)

    springboot中websocket簡單實(shí)現(xiàn)

    本文主要介紹了springboot中websocket簡單實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • SpringBoot3?框架快速搭建與項(xiàng)目工程詳解

    SpringBoot3?框架快速搭建與項(xiàng)目工程詳解

    本文將從項(xiàng)目搭建、核心配置、分層開發(fā)、統(tǒng)一返回與異常處理等維度,詳細(xì)講解SpringBoot3項(xiàng)目的構(gòu)建與工程設(shè)計(jì),幫助開發(fā)者快速上手,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • SpringCloud微服務(wù) Sentinel 實(shí)戰(zhàn)指南

    SpringCloud微服務(wù) Sentinel 實(shí)戰(zhàn)指南

    文章主要介紹了Sentletinel在微服務(wù)中的應(yīng)用及工作原理,涵蓋了流控規(guī)則、熔斷降級(jí)、授權(quán)控制等內(nèi)容,強(qiáng)調(diào)了通過合理的限流和降級(jí)策略來保護(hù)系統(tǒng)穩(wěn)定運(yùn)行,感興趣的朋友跟隨小編一起看看吧
    2026-05-05
  • IDEA Servlet 模板設(shè)置的方法

    IDEA Servlet 模板設(shè)置的方法

    這篇文章主要介紹了IDEA Servlet 模板設(shè)置的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 關(guān)于Spring MVC框架中攔截器Interceptor的使用解讀

    關(guān)于Spring MVC框架中攔截器Interceptor的使用解讀

    這篇文章主要介紹了關(guān)于Spring MVC框架中攔截器Interceptor的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • springMVC不掃描controller中的方法問題

    springMVC不掃描controller中的方法問題

    這篇文章主要介紹了springMVC不掃描controller中的方法問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • MyBatis與MyBatis-Plus的區(qū)別詳解

    MyBatis與MyBatis-Plus的區(qū)別詳解

    本文主要介紹了MyBatis與MyBatis-Plus的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java 中函數(shù)作為參數(shù)傳遞方法詳解

    Java 中函數(shù)作為參數(shù)傳遞方法詳解

    文章介紹了Java中函數(shù)式編程的概念,包括Lambda表達(dá)式、方法引用和函數(shù)式接口,通過這些特性,Java可以將函數(shù)作為參數(shù)傳遞,從而實(shí)現(xiàn)更靈活和簡潔的代碼,文章還列舉了Java內(nèi)置的函數(shù)式接口,并展示了它們?cè)赟tream API中的應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • Java服務(wù)cpu100%的解決過程分享

    Java服務(wù)cpu100%的解決過程分享

    最近一個(gè)任務(wù)是優(yōu)化一個(gè)導(dǎo)出的功能,但是點(diǎn)擊功能時(shí)發(fā)現(xiàn),程序長時(shí)間無反應(yīng),過一段時(shí)間又有反應(yīng),通過查看服務(wù)的監(jiān)控發(fā)現(xiàn),服務(wù)存在cpu持續(xù)100%的情況,下面分享一下我的處理方案和過程,需要的朋友可以參考下
    2024-05-05
  • Java并發(fā)系列之JUC中的Lock鎖與synchronized同步代碼塊問題

    Java并發(fā)系列之JUC中的Lock鎖與synchronized同步代碼塊問題

    這篇文章主要介紹了Java并發(fā)系列之JUC中的Lock鎖與synchronized同步代碼塊,簡單介紹了lock鎖及鎖的底層知識(shí),結(jié)合案例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評(píng)論

陆川县| 长泰县| 镇雄县| 视频| 旺苍县| 乌鲁木齐县| 淳安县| 南安市| 望奎县| 甘肃省| 防城港市| 丹棱县| 天祝| 个旧市| 镇沅| 封开县| 临江市| 夏邑县| 赤峰市| 泰和县| 重庆市| 苏尼特左旗| 柳江县| 通州区| 四子王旗| 石屏县| 平塘县| 聂荣县| 都江堰市| 兰西县| 永春县| 汾西县| 义乌市| 池州市| 侯马市| 观塘区| 淳化县| 佛山市| 松原市| 元江| 子长县|