(3)在main函数中针对int类型和结构体类型进行调用:
int main(int argc, char *argv[]){ // test1:int类型求最大值 int nums[] = { 3,5,8,7,6 }; int *pMax = (int *)getMax(nums,sizeof(int),sizeof(nums)/sizeof(int), intDataCompare); int max = *pMax; printf(%dn,max); // test2:结构体类型求最大值 Dog dogs[] ={{沙皮,3},{腊肠,10},{哈士奇,5}, {京巴,8},{大狗,2}}; Dog *pDog = (Dog *)getMax(dogs,sizeof(Dog), sizeof(dogs)/sizeof(Dog),dogDataCompare); printf(%s=%d,pDog->name,pDog->age); return 0;}最终运行结果如下图所示:

3.2 C中自带的qsort函数—自定义排序qsort包含在<stdlib.h>头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序 。排序之后的结果仍然放在原数组中 。
使用qsort函数必须自己写一个比较函数 。我们可以看看qsort函数的原型:
void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) ); int nums[] = { 3,5,8,7,6 }; qsort(nums,sizeof(nums)/sizeof(int),sizeof(int),intDataCompare); int i; for(i=0;i<sizeof(nums)/sizeof(int);i++) { printf(%d ,nums[i]); } printf(n); Dog dogs[] ={{沙皮,3},{腊肠,10},{哈士奇,5}, {京巴,8},{大狗,2}}; qsort(dogs,sizeof(dogs)/sizeof(Dog),sizeof(Dog),dogDataCompare); for(i=0;i<sizeof(dogs)/sizeof(Dog);i++) { printf(%s %d ,dogs[i].name,dogs[i].age); }那么,快速排序后是否有结果呢?答案是肯定的,我们可以传入各种比较方法,可以升序排序也可以降序排序 。

—— The End ——
推荐阅读
- 平菇上面长了白色的绒绒还能吃吗
- 这个送男友的本命年礼物真绝! 本命年礼品
- 寺庙里挤满了烧香拜佛的人 烧香图片
- 电烤箱烤香肠的温度和时间
- 你该知道的关税税率适用原则 进口关税税率查询
- 砂糖橘的白丝可以吃吗
- 腊肉长白色的霉怎么处理
- 天然蜂蜜的保质期是多久
- 砂糖橘是热性还是凉性的食物
- 在深圳的三个服装批发市场 深圳童装批发
