直接上代码:
public class A16_QuickSort {
public static void main(String[] args) {
int[] arr = {-9 , 0 , 78 , 0 , 23 , -567 ,0 , 70};
quickSort(arr , 0 , arr.length - 1);
System.out.println(Arrays.toString(arr));
}
public static void quickSort(int[] arr , int left , int right) { //快速排序
if (left < right) {
int stard = arr[left];
int l = left;
int r = right;
while (l < r) {
//这里面的两个while的顺序是一定不能变换的
while (l < r && stard <= arr[r]) {
r--;
}
arr[l] = arr[r];
while (l < r && arr[l] <= stard) {
l++;
}
arr[r] = arr[l];
}
arr[l] = stard;
quickSort(arr, left, l);
quickSort(arr, l + 1, right);
}
}
}