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