C 编程/stdlib.h/qsort
外观
qsort 是一个用于对数组中的元素进行排序的函数。它以快速排序算法命名,尽管 C 标准不要求它使用任何特定的算法来实现。[1]
qsort
是一个通用函数,它可以对任何大小的数组进行排序,包含任何类型的对象(尽管如果对象的大小不同,则必须使用指针),并且使用任何类型的比较谓词。然而,通用性是以类型安全为代价的,因为 qsort
操作空指针。
void qsort(void *base, size_t nmemb, size_t size, int (*compare)(const void *, const void *));
数组的内容根据比较函数 compare 指向的顺序排序。当项目比较相等时,它们在结果数组中的顺序是不确定的,这意味着 qsort 不需要是稳定的排序。
- ↑ ISO/IEC 9899:1999 规范 (PDF). p. 319, § 7.20.5.2.