Java版快排(递归)

public class Test {
    private static int Partition(int[] arr, int start, int end) {
        int key = arr[start];
        while (start < end) {
            while (arr[end] >= key && end > start)
                end--;
            arr[start] = arr[end];
            while (arr[start] <= key && end > start)
                start++;
            arr[end] = arr[start];
        }
        arr[start] = key;
        return start;
    }
    public static void quickSort(int[] arr, int start, int end) {
        if(start>=end)
        return;
        if (start < end) {
            int index = Partition(arr, start, end);
            quickSort(arr, start, index - 1);
            quickSort(arr, index + 1, end);
        } 
    }
    public static void main(String[] args) {
        int[] data = new int[]{1,3,2,9,7,4,6,8,20,17,25,21};
        quickSort(data,data[0],data.length-1);
        for (int temp : data) {
            System.out.print(temp+"、");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/a215012954/article/details/83108298
今日推荐