[c++] 퀵 정렬
퀵 정렬(Quick Sort)은 매우 효율적인 정렬 알고리즘 중 하나로, 평균적으로 O(n log n)의 시간 복잡도를 갖습니다.
#include <iostream>
using namespace std;
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int tmp;
int pivot = arr[(left + right) / 2];
while (i <= j) {
while (arr[i] < pivot) i++;
while (arr[j] > pivot) j--;
if (i <= j) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
}
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
int main() {
int arr[] = {5, 3, 8, 4, 2, 7, 1, 10, 6, 9};
int n = sizeof(arr)/sizeof(arr[0]);
quickSort(arr, 0, n - 1);
cout << "Sorted array: ";
for (int i=0; i<n; i++)
cout << arr[i] << " ";
return 0;
}
위의 코드는 C++로 구현된 기본적인 퀵 정렬 알고리즘입니다. 이 코드는 배열을 정렬하는 과정을 보여줍니다.
퀵 정렬에 대한 자세한 내용은 GeeksforGeeks를 참조하세요.
이렇게 퀵 정렬은 C++에서 구현하면 위와 같습니다.