栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言中提供的排序算法 qsort 的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言中提供的排序算法 qsort 的使用

系统提供的qsort排序的用法

该函数其实是一个快排,具体声明如下:

void qsort(void *base, 
           size_t nmemb, 
           size_t size,
           int (*compar)(const void *p, const void *q));

各参数的意义:
base:待排序的对象,比如一个数组;
nmemb:待排序的对象中元素的个数,比如一个数组中的元素个数;
size:待排序对象中的元素所占内存大小;
compar:自定义的比较函数,专业一点其实就是一个函数指针,一个返回值为int,传入参数为void型的两个待排数的函数。

我们再来详细讲一下compar这个函数,它的返回值为int,当为正数的时候,就认为交换条件成立,传入的两个参数p,q指向的数将会交换位置,否则不进行交换。

具体我们来看代码分析一下:

#include 
#include 

void print_array(int arr[],int n){ 
// 打印数组
    int* p = arr;
    while(p m){
        return 1;//第一个数大于第二个数就进行交换
    }else{
        return -1;//第一个数小于第二个数就维持原来的顺序
    }
    // 该函数其实就是将两个数调整为自小到大的顺序
}

int main(){
    int n;
    scanf("%d",&n);
    int a[n];
    for(int i=0;i 

代码运行结果如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号