如何使用C语言库函数qsort对数组进行排序

2025-11-10 10:32:47

1、函数使用语法

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

该语法比较抽象,下面将提供具体的实例来展示具体的使用方法。

如何使用C语言库函数qsort对数组进行排序

2、头文件

避免麻烦可以使用万能头文件

#include<bits/stdc++.h>来调用该函数

如何使用C语言库函数qsort对数组进行排序

3、比较函数

比较函数的形式:int compare(const void* a, const void* b);

返回值的意义:

返回值小于0:a所在位置排在b的前面

返回值大于0:a所在位置排在b的后面

如何使用C语言库函数qsort对数组进行排序

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);

}

如何使用C语言库函数qsort对数组进行排序

5、对数组int p[]={3,4,2,1,5}进行排序。

调用用qort函数。

qsort(p,n,sizeof (int),compare1);

第一项数组名,第二项为数组元素数量,第三项为每一项空间大小,第四项为比较函数

如何使用C语言库函数qsort对数组进行排序

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;

}

如何使用C语言库函数qsort对数组进行排序

如何使用C语言库函数qsort对数组进行排序

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢