首页 > 代码库 > 排序函数qsort()

排序函数qsort()

qsort使用快速排序进行通用排序,一般情况下可以满足排序要求,因此可以不用自己再定义排序算法。

原型:

#include<stdlib.h>void qsort(void *buf,size_t num,size_t size,int(*compare)(const void *,const void *));

 

例子;

 1 #include<stdio.h> 2 #include<stdlib.h> 3  4 int comp(const void *,const void *); 5  6 int main(void) 7 { 8     int num[]={13,5,9,7,6,0,91,4,3,2,8}; 9     10     int i;11 12     qsort(num,sizeof(num)/sizeof(int),sizeof(int),comp);13 14     for(i=0;i<(sizeof(num)/sizeof(int));++i)15     {16         printf("%3d",num[i]);17     }18     printf("\n");19     return 0;20 }21 22 int comp(const void *i,const void *j)23 {24     return *(int *)i-*(int *)j;25 }

 

一般compare函数都写作成上述形式,返回值是

*(void *)arg1-*(void *)arg2,void用使用的数组类型代替。

排序函数qsort()