qsort使用什么排序算法?

goo*_*ing 8 c sorting

我找不到有关C qsort函数使用的排序算法的任何信息.

它快速排序吗?人类没有提到它.

Jam*_*lis 16

的实施qsort没有规定为:实现可以使用任何排序算法.有趣的是,排序不需要稳定,也没有复杂性要求.

qsort(C11§7.22.5.2)的整个规范如下:

qsort功能

概要

#include <stdlib.h>
void qsort(void *base, size_t nmemb, size_t size,
     int (*compar)(const void *, const void *));
Run Code Online (Sandbox Code Playgroud)

描述

qsort函数对一个nmemb对象数组进行排序,其初始元素由其指向base.每个对象的大小由size.指定.

根据compar指向的比较函数,数组的内容按升序排序,使用两个指向被比较对象的参数调用.如果第一个参数被认为分别小于,等于或大于第二个参数,则该函数应返回小于,等于或大于零的整数.

如果两个元素相等,则它们在生成的排序数组中的顺序是未指定的.

返回

qsort函数不返回任何值.