头文件:<stdlib.h>
函数名称: qsort
函数样式:
qsort(待排序数组,排序数组长度,类型长度,排序方式);
参数解释:
- 待排序数组:被排列数组,比如整型数组a[100]。
- 排序数组长度:比如有20个被排序数字。
- 类型长度:可以用sizeof(a[0]) 表示。
- 排序方式:有升序排序和降序排序两种,以函数方式传递。
排序方式代码:
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;//这是从小到大排序,若是从大到小改成: return *(int *)b-*(int *)a;
}
代码示例:
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;//这是从小到大排序,若是从大到小改成: return *(int *)b-*(int *)a;
}
int main()
{
int a[100];
int n;
scanf("%d",&n);//n代表数组中有几个数字
int i;
for(i=1;i<=n;i++)
scanf("%d",&a[i-1]);
qsort(a,n,sizeof(a[0]),cmp);//(数组,需要排序的数字个数,单个数字所占内存大小,比较函数)
for(i=1;i<=n;i++)
printf("%d ",a[i-1]);
return 0;
}