目录
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的函数功能,敬请期待。。。
感谢观看,感谢指正。