qsort
qsort (배열 정렬 — C 스타일)
정렬된 배열을 퀵소트 스타일로 정렬하는 C 표준 함수예요. <cstdlib> 헤더에 있어요.
출처: cppreference
본문
qsort는 ptr이 가리키는 배열(원소 수 count, 원소 크기 size)을 비교 함수 comp 기준으로 정렬해요.
void qsort( void* ptr, std::size_t count, std::size_t size,
/* c-compare-pred */* comp );
비교 함수는 두 원소 포인터를 받아:
comp(a, b) < 0:a가b보다 작음.comp(a, b) > 0:a가b보다 큼.comp(a, b) == 0: 같음.
을 반환해야 해요. 정렬은 안정적이지 않고, 비교 횟수는 count 기준으로 로그·선형 혼합(O(count·log count) 근사)이에요.
int arr[] = {5, 2, 9, 1, 5};
std::qsort(arr, 5, sizeof(int),
[](const void* a, const void* b){ return *(const int*)a - *(const int*)b; });
// arr == {1,2,5,5,9}
C++ 템플릿 기반 코드에서는 std::sort가 타입 안전하고 더 빠른 경우가 많아서 선호돼요. qsort는 C 호환 API용이에요.