(C语言)qsort函数详解

本文详细介绍了C++标准库中的qsort函数,包括其用法、参数解释以及如何对整形数组、结构体(包含字符串和整型)进行升序和降序排序。通过实例演示了qsort的实际应用。
摘要由CSDN通过智能技术生成

目录

1. qsort解释

2. qsort实例

2.1 qsort排列整形数组类型:

2.2 qsort排列结构体类型数据(字符串):

2.3 qsort排列结构体类型数据(整形):


1. qsort解释

我们可以进入网站:qsort - C++ Reference (cplusplus.com)

来看一下这个函数的介绍:

头文件为:stdib.h

qsort函数可以排列多种类型的数据,这就有回调函数的作用;

第一个参数是void*类型,第二个和第三个参数都是size_t类型,第四个参数是是int (*)(const void*,const void*)及函数指针类型。

第四个参数是要我们自己写出函数,在这就是回调函数

再往下看:

base:是要排列数组的第一个元素的地址,转换为void*类型

num:是数组中的元素数

size:数组中每个元素的大小,(以字节为单位)

compar:是指向比较两个元素的函数指针qsort会重复调用这个函数,比较两个元素。应遵循以下类型:int copar(consr void*p1const void*p2)

将两个指针作为参数(均转换为void*),函数通过返回值值来确定元素的顺序,

p1指向的元素在p2指向的元素之前,

若p1>p2返回正值,p1=p2返回0,p1<p2返回负值,这样会将数组元素变为升序排列。

若p1>p2返回负值,p1=p2返回0,p1<p2返回正值,这样会将数组元素变为降序排序。

2. qsort实例

下面我们来看看如何使用

2.1 qsort排列整形数组类型:

2.2 qsort排列结构体类型数据(字符串):

执行结果:

2.3 qsort排列结构体类型数据(整形):

执行结果:

我面我会用模拟实现qsort的函数功能,敬请期待。。。

感谢观看,感谢指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值