qsort()函数之快速排序
qsort()函数是ANSI C标准中提供的,在<stdlib.h>头文件中
是根据二分法写的,时间复杂度为:n*log(n)
原型:void qsort(void *base, size_t nelem, size_t width, cmp)
base:为要排序的数组
nelem:为排序数组的长度
width:为数组元素的大小
cmp:为自定义的比较函数(名字也是自定义,我们这里声明为:cmp)
int cmp(const void *a, const void *b)
当cmp返回的值大于零时,qsort()函数函数就认为a > b;
当cmp返回的值等于零时,qsort()函数函数就认为a = b;
当cmp返回的值小于零时,qsort()函数函数就认为a < b。
qsort()函数会把它认为大的数放在前面
int num[100]; int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp);