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

首頁 > 學院 > 開發設計 > 正文

快速排序算法

2019-11-15 00:57:45
字體:
來源:轉載
供稿:網友
快速排序算法

快速排序是一種非常高效的排序算法,它采用“分而治之”的思想,把大的拆分成小的,小的再拆分為更小的。

其原理如下:

對一組給定的記錄,通過一趟排序后,將原序列分為兩部分,其中前一部分的所有數據均比后一部分的所有的記錄小,然后依次對前后兩部分的記錄進行快速排序,遞歸該過程,直到序列中的所有記錄均有序為止。

快速排序的 java 實現:

 1 package com.mianshi.easy; 2  3 public class TestQuickSort { 4  5     public static void quickSort(int[] a){ 6         sort(a, 0, a.length-1); 7     } 8      9     public static void sort(int[] a, int low, int high){10         11         int i, j;12         int index;13         14         if(low >= high){15             return;16         }17         18         i = low;19         j = high;20         index = a[i];21         while(i<j){22             while(i<j && a[j]>=index){23                 j--;24             }25             if(i<j)26                 a[i++] = a[j];27             while(i<j && a[i]<index){28                 i++;29             }30             if(i<j){31                 a[j--]=a[i];32             }33         }34         a[i] = index;35         sort(a, low, i-1);36         sort(a, i+1, high);37     }38     39     40     public static void main(String[] args) {41         42         int[] a = {6,5,3,9,0,5,1,2,4,7,8};43         //快速排序44         quickSort(a);45         for(int i = 0;i < a.length; i++){46             System.out.View Code

結果:

0 1 2 3 4 5 5 6 7 8 9 

算法穩定性:不穩定的排序算法。

時間復雜度:平均時間復雜度為O(nlogn)

優秀帖子幫助理解:

http://blog.csdn.net/morewindows/article/details/6684558


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌平区| 获嘉县| 武强县| 忻城县| 佛坪县| 焉耆| 资溪县| 拉萨市| 罗江县| 大新县| 阿勒泰市| 方城县| 怀仁县| 缙云县| 容城县| 吴忠市| 略阳县| 汝城县| 措勤县| 衡山县| 娄烦县| 霞浦县| 陇西县| 武清区| 昭通市| 陵水| 桦甸市| 镇远县| 巴塘县| 阿瓦提县| 东明县| 武定县| 祁门县| 肥城市| 屯昌县| 乌鲁木齐市| 昌图县| 香港 | 涡阳县| 昌邑市| 梁河县|