Lecture/Algorithm
[정렬] 퀵 정렬 ( Quick Sort )
재시민
2021. 5. 12. 23:56
반응형
void quickSort(vector<int>& v, int start, int end) {
int pivot, left, right;
pivot = start;
left = start + 1;
right = end;
if (start >= end) return;
while (left <= right) {
while (left <= end && v[left] <= v[pivot]) {
left++;
}
while (right > start && v[right] >= v[pivot] ) {
right--;
}
if (left > right) swap(v[pivot], v[right]);
else swap(v[left], v[right]);
}
quickSort(v, start, right - 1);
quickSort(v, right + 1, end);
}
반응형