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

 时间:2026-02-14 09:00:22

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对数组进行排序

  • Python语言如何实现字符的输入与输出
  • 如何用python的matplotlib画标准正态分布直方图
  • 怎样在tkinter编程中的pack方法中使用fill?
  • Python中如何根据列表的索引移除元素
  • C语言中用数组解约瑟夫问题
  • 热门搜索
    怎么编辑视频 手机很卡怎么办 怎么矫正近视眼 王者荣耀花木兰怎么玩 厕所堵了怎么疏通 撮怎么读 怎么做水晶泥 九里香怎么养 花甲怎么清洗 服务密码怎么查