C语言库函数中的排序函数qsort

一 是什么?

qsort是C标准库中的一个函数,用于对数组进行快速排序。它可以接受任意类型的数据,并使用用户提供的比较函数来进行排序。

qsort是stdlib.h中的函数,因此使用前需要声明:

qsort函数的原型如下:

1 数组名(也就是数组的地址)

2元素个数(从前往后计算)

3数组元素所占字节(int,char double等)

4比较函数

关于比较函数:

比较函数需要返回一个整数值,表示a和b的大小关系。如果返回负数,则a排在b之前;如果返回正数,则a排在b之后;如果返回0,则a和b相等。

1个为什么?

为什么 参数是const void*的形式?

因为在C语言中,void *指针可以指向任意类型的数据,而且在比较函数中,通常不需要修改参数的值。因此,将参数定义为const void *a,const void *b可以确保比较函数不会修改传入的参数,并且可以接受任意类型的数据进行比较。这样的设计使得cmp函数更加通用和灵活。

二 具体的应用

例1 对整型数组进行排序

例2 对字符串数组进行排序

例3 对于结构体数据的排序(对包含姓名和年龄的结构体数组进行排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值