qsort()函数

来源:互联网 发布:windows远程登录工具 编辑:程序博客网 时间:2024/06/04 18:56

编译器函数库自带的快速排序函数。

qsort()的函数原型是
void qsort(void*base,size_t num,size_t width,int(__cdecl*compare)(const void*,const void*));
各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针
例1:对一个长为1000的数组进行排序时,int a[1000]; 

qsort(a,1000,sizeof(int),comp);
其中comp函数应写为:
1
2
3
4
int comp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;
}

例2:
对一个二维数组进行排序:
int a[1000][2];
 
1
2
3
4
5
6
7
qsort(a,1000,sizeof(int)*2,comp);
 
int comp(const void*a,const void*b)
 
{
return((int*)a)[0]-((int*)b)[0];
}
对字符串进行排序
1
2
3
4
5
6
7
8
9
10
int Comp(const void*p1,const void*p2)
{
return strcmp((char*)p2,(char*)p1);
}
int main()
{
char a[MAX1][MAX2];
initial(a);
qsort(a,lenth,sizeof(a[0]),Comp);
//lenth为数组a的长度



=_=

0 0
原创粉丝点击