国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java實現快速排序算法

2019-11-26 15:13:29
字體:
來源:轉載
供稿:網友

1、算法概念。

快速排序(Quicksort)是對冒泡排序的一種改進。由C. A. R. Hoare在1962年提出。
2、算法思想。

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

3、實現思路。

①以第一個關鍵字 K 1 為控制字,將 [K 1 ,K 2 ,…,K n ] 分成兩個子區,使左區所有關鍵字小于等于 K 1 ,右區所有關鍵字大于等于 K 1 ,最后控制字居兩個子區中間的適當位置。在子區內數據尚處于無序狀態。
②把左區作為一個整體,用①的步驟進行處理,右區進行相同的處理。(即遞歸)
③重復第①、②步,直到左區處理完畢。

public static void quickSortByMid(int[] a, int low, int high) {    if (low >= high)      return;    // 分割    int pivot = a[low];// 基準值    int i = low, j = high;    while (i < j) {      while (i < j && a[j] >= pivot)        --j;      a[i]=a[j];      while (i < j && a[i] <= pivot)        ++i;      a[j]=a[i];    }    a[i]=pivot;    quickSortByMid(a, low, i-1);    quickSortByMid(a, i+1, high);  }

快速排序算法示意圖:

以上所述就是本文的全部內容了,希望對大家學習java快速排序算法有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象山县| 江安县| 易门县| 中卫市| 祁东县| 嘉兴市| 石棉县| 郑州市| 治多县| 连城县| 宜都市| 毕节市| 旅游| 句容市| 大悟县| 城固县| 来凤县| 红原县| 霍邱县| 亳州市| 华宁县| 锡林浩特市| 清涧县| 仪征市| 武穴市| 隆昌县| 东丰县| 宣恩县| 河源市| 无极县| 板桥市| 双鸭山市| 西藏| 手机| 大兴区| 嘉峪关市| 沅江市| 界首市| 满城县| 东乌珠穆沁旗| 长宁县|