Header Ads

Thuật toán sắp xếp QuickSort trong java

Thuật toán sắp xếp QuickSort trong java

algorithm

Thuật toán sắp xếp QuickSort là thuật toán có thời gian trung bình sắp xếp nhanh nhất dựa vào giải thuật đệ quy, bạn nào muốn tìm hiểu thêm thì có thể tham khảo sách cấu trúc dữ liệu giải thuật của thầy Lê Minh Hoàng nhé.

Sau đây là đoạn code mà mình đã làm, anh em tham khảo và cải tiến nhé !!





   private int partition(int array[], int low, int high) {
        int pivot = array[high];
        int i = low - 1;
        for(int j = low; j < high; j++) {
            if(array[j] <= pivot ) {
                i++;
                int temp = array[i];
                array[i] = array[j];
                array[j] = temp;
            }
        }
        int temp = array[i + 1];
        array[i + 1] = array[high];
        array[high] = temp;
        return i+1;
    }

    /***
     * QuickSort Library
     * @param array
     * @param low
     * @param high
     */
    public void quickSort(int array[], int low, int high) {
        if(low < high) {
            int pi = partition(array, low, high);
            quickSort(array, low, pi -1);
            quickSort(array, pi + 1, high);
        }
    }


Like và ủng hộ fanpage nhé !!

No comments