如何使用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语言中用数组解约瑟夫问题
  • 热门搜索
    五一劳动节手抄报简单 中国梦足球梦手抄报 绿色手抄报内容 民间故事手抄报 读书的手抄报图片 构建和谐校园手抄报 关于迎新年的手抄报 英语手抄报国庆节 四年级上册手抄报 关于春节的手抄报大全