반응형
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);
}
반응형
'Lecture > Algorithm' 카테고리의 다른 글
[자료구조] 해쉬 테이블 (0) | 2021.05.13 |
---|---|
[기하] 다각형 내부 점 판별 (0) | 2021.05.13 |
[탐색] 흑적나무 ( Red - Black Tree ) (0) | 2021.05.12 |
[탐색] 이진탐색트리 (BST) (0) | 2021.05.11 |
[탐색] 이진탐색 (Binary Search ) (0) | 2021.05.10 |