퀵 정렬

황희윤·2023년 10월 17일

퀵 정렬(Quick Sort)

피벗(그룹을 나누는 기준)으로 그룹을 나누면서 그룹이 1명이 될때까지 정렬하는 방법

static void quickSort(int[] a, int left, int right) {
	int pl = left;
    int pr = right;
    int pivot = a[(pl + pr)/2]; // 피벗
    
    do{
    	while(pivot > a[pl]) pl++;
        while(pivot < a[pr]) pr--;
        if(pl <= pr)
        	swap(pl++, pr--);
    } while(pl <= pr);
    
    if(left < pr) quickSort(a, left, pr);
    if(pl < right) quickSort(a, pl, right);
}
profile
HeeYun's programming study

0개의 댓글