public class QuickSort { public static void quickSort(int[] arr, int left, int right) { if (left < right) { int mid = partition(arr, left, right); quickSort(arr, left, mid - 1); quickSort(arr, mid + 1, right); } }

private static int partition(int[] arr, int left, int right) {
    int pivot = arr[left];
    while (left < right) {
        while (left < right && arr[right] >= pivot) {
            right--;
        }
        arr[left] = arr[right];
        while (left < right && arr[left] <= pivot) {
            left++;
        }
        arr[right] = arr[left];
    }
    arr[left] = pivot;
    return left;
}

public static void main(String[] args) {
    int[] arr = {5, 2, 8, 3, 9, 0, 1, 6, 4, 7};
    quickSort(arr, 0, arr.length - 1);
    for (int i : arr) {
        System.out.print(i + " ");
    }
}

}

Java快速排序算法实现:高效排序数组

原文地址: https://www.cveoy.top/t/topic/ol7U 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录