여기서 C의 qsort()와 C++의 sort()의 차이점을 살펴보겠습니다.
C 언어는 배열을 정렬하는 데 사용할 수 있는 qsort() 함수를 제공합니다. 함수의 매개변수와 구문은 다음과 같습니다.
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
이 함수는 배열의 기본 주소, 배열의 요소 수, 배열의 각 항목 크기 및 비교 함수를 허용합니다.
C++에서는 C++ STL에 있는 sort() 함수를 제공합니다. 해당 매개변수와 구문은 아래와 같습니다.
void sort(T first, T last, Compare c);
반복되는 요소의 순서가 유지된다는 보장은 없습니다. 이 목적을 달성하기 위해 C++ STL에서 제공하는 stable_sort를 사용할 수 있습니다.
qsort() in C | sort() in C++ |
---|---|
빠른 정렬 알고리즘을 사용합니다. | introsort를 사용합니다. 이것은 하이브리드 정렬 알고리즘입니다. 서로 다른 구현에서는 서로 다른 알고리즘을 사용합니다. GNU C++ STL은 세 부분으로 구성된 하이브리드 정렬을 사용합니다. 인트로 정렬, 퀵 정렬, 삽입 정렬. |
C 표준에서는 이 문제를 | 언급하지 않습니다. |
위 내용은 C qsort()와 C++ sort()의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!