C++ 퀵정렬 구현

1 개요[ | ]

C++ 퀵정렬 구현
C++ 배열 퀵정렬 구현
#include <iostream>

void quick_sort(int A[], int L, int R) {
  int left, right, pivot = A[L];
  for (left = L, right = R; left < right; right--) {
    while (A[right] >= pivot && left < right) right--;
    if (left < right) A[left] = A[right];
    while (A[left] <= pivot && left < right) left++;
    if (left >= right) break;
    A[right] = A[left];
  }
  A[left] = pivot;
  if (left > L) quick_sort(A, L, left - 1);
  if (left < R) quick_sort(A, left + 1, R);
}

int main() {
  int arr[] = {9, 1, 22, 4, 0, -1, 1, 22, 100, 10};
  int size = sizeof(arr) / sizeof(int);
  quick_sort(arr, 0, size - 1);
  for (int x : arr) std::cout << x << ' '; // -1 0 1 1 4 9 10 22 22 100
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}