首页 > 编程语言 > 详细

快速排序

时间:2020-08-15 15:22:41      阅读:68      评论:0      收藏:0      [点我收藏+]

 

 1 public static void sort(int[] array) {
 2         if ((array == null || array.length == 0)) {
 3             return;
 4         }
 5         quickSort(array, 0, array.length - 1);
 6     }
 7 
 8     public static void quickSort(int[] array, int left, int right) {
 9         if (left > right) {
10             return;
11         }
12         int base = array[left];  //标记位
13         int i = left, j = right;
14         while (i != j) {
15             while (i < j && array[j] >= base) {
16                 j--;
17             }
18             while (i < j && array[i] <= base) {
19                 i++;
20             }
21             if (i < j) {
22                 int temp = array[i];
23                 array[i] = array[j];
24                 array[j] = temp;
25             }
26         }
27         array[left] = array[i];
28         array[i] = base;
29         quickSort(array, left, i - 1);
30         quickSort(array, i + 1, right);
31     }

 

快速排序

原文:https://www.cnblogs.com/0error0warning/p/13508579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!