开门见山的说:
qsort作为一个比较万能的排序函数,排序类型多的一批。
qsort作为一个比较万能的排序函数,使用缺陷就是需要自定义一个比较函数
使用qsort函数需要使用头文件
头文件->
#include<stdlib.h>
int型比较函数
字符比较函数
结构体比较函数
实例使用
使用到的头文件
数组比较
int cmop_int (const void* a1,const void* a2)
{
return (*(int*)a1 - *(int*)a2);
}
int main()
{
//数组
int arr[] = { 5,48,56,35,12,174,78 };
int sz = sizeof(arr)/ sizeof(arr[0]) ;
qsort(arr,sz, sizeof(arr[0]) ,cmop_int);
return 0;
}
字符数组比较
int cmop_char(const void* a1, const void* a2)
{
return (*(char*)a1 - *(char*)a2);
}
int main()
{
//字符数组
char drr[] = {'c','e','f','r','h','a' };
int sz = sizeof(drr) / sizeof(drr[0]);
qsort(drr, sz, sizeof(drr[0]), cmop_char);
return 0;
}
结构体数组比较
struct Stu
{
char name[10];
int age;
double gz;
};
int cmop_sut_name(const void* a1, const void* a2)
{
return ((struct Stu*)a1)->age- ((struct Stu*)a2)->age;
}
int cmop_sut_char(const void* a1, const void* a2)
{
return strcmp( ((struct Stu*)a1 )->name,((struct Stu*)a2)->name ) ;
}
int main()
{
//结构体
struct Stu trr[3] = { {"zhangsan", 20, 3000.5},{"lisi", 30, 15000.85},{"wangwu", 10, 36520.58} };
int sz = sizeof(trr) / sizeof(trr[0]);
qsort(trr, sz, sizeof(trr[0]), cmop_sut_name);
return 0;
}
哈,谢谢各位同志的阅读,然后呢如果觉得本文对您有所帮助的话,还给个免费的赞吧
Thanks♪(・ω・)ノ
(期待一下,要是有分享和收藏更好啦)