直接上代码:

    1. public class A16_QuickSort {
    2. public static void main(String[] args) {
    3. int[] arr = {-9 , 0 , 78 , 0 , 23 , -567 ,0 , 70};
    4. quickSort(arr , 0 , arr.length - 1);
    5. System.out.println(Arrays.toString(arr));
    6. }
    7. public static void quickSort(int[] arr , int left , int right) { //快速排序
    8. if (left < right) {
    9. int stard = arr[left];
    10. int l = left;
    11. int r = right;
    12. while (l < r) {
    13. //这里面的两个while的顺序是一定不能变换的
    14. while (l < r && stard <= arr[r]) {
    15. r--;
    16. }
    17. arr[l] = arr[r];
    18. while (l < r && arr[l] <= stard) {
    19. l++;
    20. }
    21. arr[r] = arr[l];
    22. }
    23. arr[l] = stard;
    24. quickSort(arr, left, l);
    25. quickSort(arr, l + 1, right);
    26. }
    27. }
    28. }