如何使用C语言库函数qsort对数组进行排序
1、函数使用语法:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
该语法比较抽象,下面将提供具体的实例来展示具体的使用方法。

2、头文件:
避免麻烦可以使用万能头文件
#include<bits/stdc++.h>来调用该函数

3、比较函数。
比较函数的形式:int compare(const void* a, const void* b);
返回值的意义:
返回值小于0:a所在位置排在b的前面
返回值大于0:a所在位置排在b的后面

4、一个比较函数例子:
递减排序比较函数:
int compare1(const void *a,const void *b)
{
int *p1=(int*)a;
int *p2=(int*)b;
return (*p1<*p2);
}
递增排序比较函数:
int compare1(const void *a,const void *b)
{
int *p1=(int*)a;
int *p2=(int*)b;
return (*p1-*p2);
}

5、对数组int p[]={3,4,2,1,5}进行排序。
调用用qort函数。
qsort(p,n,sizeof (int),compare1);
第一项数组名,第二项为数组元素数量,第三项为每一项空间大小,第四项为比较函数

6、总的程序:
#include<bits/stdc++.h>
using namespace std;
int compare1(const void *a,const void *b)
{
int *p1=(int*)a;
int *p2=(int*)b;
return (*p1-*p2);
}
int main()
{
int p[]={3,4,2,1,5};
int n=sizeof(p)/sizeof(int );//the number of items
qsort(p,n,sizeof (int),compare1);
cout<<"sorted array: "<<endl;
for (int i=0;i<n;i++)
cout<<p[i]<<" ";
return 0;
}

