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 }