C Programming/stdlib.h/qsort
Appearance
qsort is a function used to sort elements in an array. It is named after the quicksort algorithm, although the C standard does not require it to be implemented using any specific algorithm.[1]
qsort
is a generic function that can sort arrays of any size, containing any kind of object (although, if the objects are not the same in size, pointers have to be used) and using any kind of comparison predicate. The genericity, however, comes at the expense of type-safety, since qsort
operates on void pointers.
Prototype
[edit | edit source]void qsort(void *base, size_t nmemb, size_t size, int (*compare)(const void *, const void *));
Behaviour
[edit | edit source]The contents of the array are sorted in order according to a comparison function pointed to by compare. When items compare equal, their order in resulting array is unspecified, meaning qsort is not required to be a stable sort.
References
[edit | edit source]- ↑ ISO/IEC 9899:1999 specification (PDF). p. 319, § 7.20.5.2.