在C的<stdlib.h>中有个qsort()的库函数,该函数的作用是对数组进行排序,具体使用方法如下:
qsort(数组名a,数组长度n,数组中每个元素所占字节数,比较方法)
以int型的数组为例:
#include<stdlib.h>
#include<stdio.h>
int compar(const void *a,const void *b)//const表示常量,这里表示指针指向的内容不会被串改,void表示不知道指针指向的类型
{
return (*(int*)a-*(int*)b);//()是强制类型转换符(int*)a是把a强制类型转换为int型的指针,*(int*)a是int型指针a所指向的整形数值,这句话的意思是返回a和b所指向内容的整形数值差
}
int main()
{
int a[]={2,4,1,7,6};
qsort(a,5,sizeof(int),compar);
for(int i=0;i<5;i++)
printf("%d ",a[i]);
return 0;
}
//程序运行结果为:1 2 4 6 7