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); 

 

posted @ 2021-01-23 11:18  無常  阅读(190)  评论(0编辑  收藏  举报