91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

唐海县| 龙井市| 仙居县| 灵丘县| 蒙阴县| 靖州| 弥勒县| 汽车| 合阳县| 北碚区| 扶绥县| 忻城县| 巴林左旗| 长海县| 香格里拉县| 木兰县| 札达县| 土默特左旗| 阳春市| 昭苏县| 义乌市| 始兴县| 桓仁| 扶余县| 苍梧县| 伊吾县| 乐东| 同仁县| 汽车| 巴里| 吴堡县| 朝阳市| 宁河县| 阿拉善右旗| 昌邑市| 于都县| 嘉定区| 镇康县| 海盐县| 乌鲁木齐市| 北辰区|