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

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

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

Java歸并排序算法

1、排序原理

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

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

在這里插入圖片描述

2、代碼實現(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)識左側(cè)數(shù)組 , j用來標(biāo)識右側(cè)數(shù)組        for (int index = 0; index < result.length; index++) {            //如果i 大于左側(cè)數(shù)組,說明左側(cè)已經(jīng)沒有多余的數(shù)組,將剩余的數(shù)據(jù)拷貝到臨時數(shù)組            if (i >= left.length) {                result[index] = right[j++];            }            //如果j大于右側(cè)數(shù)組,說明右側(cè)已經(jīng)沒有多余的數(shù)組,將剩余的數(shù)據(jù)拷貝到臨時數(shù)組            else if (j >= right.length) {                result[index] = left[i++];            }            //比較兩個數(shù)組,如果左側(cè)大于右側(cè)數(shù)組,就將右側(cè)數(shù)組放入到臨時數(shù)組            else if (left[i] > right[j]) {                result[index] = right[j++];            }            else{//就將左側(cè)數(shù)組放入到臨時數(shù)組                result[index] = left[i++];            }        }        return result;    }

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

相關(guān)文章

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

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

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

    SpringBoot3?框架快速搭建與項目工程詳解

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

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

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

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

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

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

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

    springMVC不掃描controller中的方法問題

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

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

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

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

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

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

    最近一個任務(wù)是優(yōu)化一個導(dǎo)出的功能,但是點擊功能時發(fā)現(xiàn),程序長時間無反應(yīng),過一段時間又有反應(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鎖及鎖的底層知識,結(jié)合案例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評論

密云县| 育儿| 翁牛特旗| 隆林| 隆林| 吐鲁番市| 兴宁市| 镇康县| 施甸县| 万安县| 黑山县| 金堂县| 冀州市| 蕲春县| 横山县| 沛县| 云龙县| 绿春县| 含山县| 北海市| 突泉县| 孟津县| 湘阴县| 新津县| 冕宁县| 五家渠市| 静乐县| 泽库县| 桂东县| 灵璧县| 宝清县| 阿克| 汉寿县| 洞头县| 金平| 呼图壁县| 宁晋县| 习水县| 敦化市| 江源县| 华亭县|