public static void quickSort(int []arr, int low, int height){ if(low>height){ return; } //基准数 int i = low, j = height; int key = arr[i]; while (i<j){ while (j>i && arr[j]>=key){ j--; } while (i<j && arr[i]<=key){ i++; } int temp; if(i<j){ temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } arr[low] = arr[i]; arr[i] = key; quickSort(arr, low, i-1); quickSort(arr, i+1, height); }
public static void main(String[] args) { int []arr = {23, 12, 45, 90, 1, 110, 6, 80, 100, 33}; for(int i=0; i<arr.length; i++){ System.out.println(arr[i]); } System.out.println("================="); quickSort(arr, 0, arr.length-1); for(int i=0; i<arr.length; i++){ System.out.println(arr[i]); } }