[퀵소트] Quick Sort - java

leeng·2023년 8월 3일
0
void quickSort(int start, int end, int[] data) {
        if (start >= end) {
            return;
        }

        int pivot = start;
        int i = start + 1;
        int j = end;
        int temp;

        while (i <= j) {
            while (i <= end && data[pivot] >= data[i]) {
                i++;
            }
            while (data[pivot] <= data[j] && j > start) {
                j--;
            }
            if (i > j) { // 엇갈림
                temp = data[j];
                data[j] = data[pivot];
                data[pivot] = temp;
            }else {
                temp = data[i];
                data[i] = data[j];
                data[j] = temp;
            }
        }

        quickSort(start, j - 1, data);
        quickSort(j + 1, end, data);

    }
profile
기술블로그보다는 기록블로그

0개의 댓글