C语言关于qsort函数的用法详细说明
来源:互联网 发布:淘宝兑换型优惠券 编辑:程序博客网 时间:2024/05/19 06:39
快速排序是一种用的最多的排序算法,在C语言的标准库中也有快速排序的函数,下面说一下详细用法。
qsort函数包含在<stdlib.h>中
qsort函数声明如下:
void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(const void *,const void *));
参数说明:
base,要排序的数组
nmemb,数组中元素的数目
size,每个数组元素占用的内存空间,可使用sizeof函数获得
compar,指向函数的指针也即函数指针。这个函数用来比较两个数组元素,第一个参数大于,等于,小于第二个参数时,分别显示正值,零,负值。
下面看几个例子:
#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>void main(void){ int i; int a[10]={0,1,2,3,4,5,6,7,8,9}; char b[10]={'a','b','c','d','e','f','g','h','i','j'}; double c[10]={0.1,0.2,0.9,0.5,0.3,0.6,0.7,0.8,1.1,1.2}; int cmp1(const void * a,const void * b) { return (*(int*)a-*(int*)b);//a>b 返回正值 } int cmp2(const void * a,const void *b) { return(*(char*)a-*(char*)b); } int cmp3(const void * a,const void * b) { if(fabs(*(double*)a-*(double *)b)<1*exp(-20)) return 0; else return(((*(double*)a-*(double*)b)>0)?1:-1); } qsort(a,10,sizeof(int),&cmp1);//对于函数指针(指向函数的指针),直接传入函数名和函数名进行& //运算都是可以的,因为在调用函数时也是取的函数的地址 qsort(b,10,sizeof(char),cmp2); qsort(c,10,sizeof(double),cmp3); for(i=0;i<10;i++) printf("%d ",a[i]); for(i=0;i<10;i++) printf("%c ",b[i]); for(i=0;i<10;i++) printf("%lf ",c[i]);}
0 0
- C语言关于qsort函数的用法详细说明
- C语言qsort函数的用法
- 关于C 中快排函数QSORT的用法
- C语言qsort的用法
- C语言qsort的用法
- C语言qsort的用法
- C语言qsort的用法
- C语言qsort的用法
- 关于qsort函数的用法
- C语言中qsort函数做排序的用法
- C语言里的快排函数用法(qsort)
- C语言的qsort函数
- C语言中qsort函数用法详解
- qsort函数的用法说明1
- C语言qsort用法
- C语言qsort用法
- c语言的模板 qsort 的用法
- C语言--关于qsort
- css空白边叠加的介绍
- 企业即时通讯系统十大排名
- Go语言 常用数据类型底层结构分析
- apach配置php,cgi支持遇到的一些问题解决方法
- 解释器和编译器的区别与联系
- C语言关于qsort函数的用法详细说明
- httpd系统自带启动脚本详解
- UML关系(泛化,实现,依赖,关联(聚合,组合))
- string类常用方法集
- 邀您一同分享财富乐歪歪童装加盟正火热进行中
- 1740 A New Stone Game
- Cracking the coding interview--Q20.1
- 什么是计划
- javascript code unit 与 code pint