文章插图
3.2 C中自带的qsort函数—自定义排序qsort包含在头文件中 , 此函数根据你给的比较条件进行快速排序 , 通过指针移动实现排序 。 排序之后的结果仍然放在原数组中 。
使用qsort函数必须自己写一个比较函数 。 我们可以看看qsort函数的原型:
void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );【void 指针的背后藏着什么? 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 ——
推荐阅读
- 群晖ddns外部访问设置 群晖ddns设置教程
- 什么是耐心 耐心的意思
- 收入证明的模板 收入证明申请书
- 去旅行的粘土小刺猬玩偶做法
- 睡觉中的宝宝简笔画
- 富态的粘土小招财猫玩偶做法
- 水中的大鹅简笔画
- 哭泣的阿狸简笔画
- 偷吃苹果的小老鼠简笔画
- 萌萌的小老虎简笔画