亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java實現快速排序算法

發布時間:2020-06-11 11:12:30 來源:億速云 閱讀:156 作者:Leah 欄目:編程語言

這篇文章給大家分享的是java實現快速排序算法,相信大部分人都還沒學會這個技能,為了讓大家學會,給大家總結了以下內容,話不多說,一起往下看吧。

1、什么是快速排序算法

實際上快速排序(Quicksort)就是對冒泡排序的一種改進。

2、快速排序算法的思想

通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

(視頻教程推薦:java視頻教程)

3、實現思路

(1)以第一個關鍵字 K 1 為控制字,將 [K 1 ,K 2 ,…,K n ] 分成兩個子區,使左區所有關鍵字小于等于 K 1 ,右區所有關鍵字大于等于 K 1 ,最后控制字居兩個子區中間的適當位置。在子區內數據尚處于無序狀態。;

(2)把左區作為一個整體,用(1)的步驟進行處理,右區進行相同的處理。(即遞歸)

(3)重復第(1)、(2)步步驟,直到左區處理完畢。

4、實現代碼

static void quicksort(int n[], int left, int right) {
        int dp;
        if (left < right) {
            dp = partition(n, left, right);
            quicksort(n, left, dp - 1);
            quicksort(n, dp + 1, right);
        }
    }
 
    static int partition(int n[], int left, int right) {
        int pivot = n[left];
        while (left < right) {
            while (left < right && n[right] >= pivot)
                right--;
            if (left < right)
                n[left++] = n[right];
            while (left < right && n[left] <= pivot)
                left++;
            if (left < right)
                n[right--] = n[left];
        }
        n[left] = pivot;
        return left;
    }

關于java實現快速排序算法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新营市| 合山市| 宁远县| 泗阳县| 怀远县| 三都| 长武县| 忻城县| 铜陵市| 巧家县| 咸宁市| 西宁市| 深圳市| 麦盖提县| 洞口县| 石嘴山市| 赤壁市| 芒康县| 滦平县| 崇仁县| 甘孜县| 金阳县| 罗平县| 禄丰县| 湟中县| 河西区| 乌拉特后旗| 凌云县| 紫金县| 乳山市| 平安县| 嵩明县| 栖霞市| 青冈县| 邢台市| 奉节县| 大余县| 庄浪县| 巴东县| 吴堡县| 榆社县|