快速排序

 

 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     }

 

posted @ 2020-08-15 14:12  王余阳  阅读(130)  评论(0)    收藏  举报