头文件<stdlib.h>
void qsort(void*, size_t , size_t, int ( * )(const void * , const void * ))
如:qsort(tem, N, sizeof(int), cmp);
参数1:void *待排序的数据的首地址
参数2:数据的成员数
参数3:数据每个成员的长度
参数 4:比较函数
int ( * )(const void * , const void * )
返回值是正的就交换,负数就不交换,0可能交换也可能不交换
如下,a>b则返回一个正数,执行交换,用该比较函数得出来的是升序排列
int inc (const void * a,const void *b)//写的比较函数的两个传参在比较函数内的声明
必须是const void*型,使用的时候再强转为自己需要的类型
{
return *(int *)a - *(int *)b;//先把地址a和b强转为int*型地址后再解地址
}
将a和b的位置交换一下就可以得到降序排序的比较方法
用之前一定要将 a和b强转为你需要的数据类型