1.函数原型
函数功能:qsort()函数的功能是对数组进行排序,数组有nmemb个元素,每个元素大小为size。参数:
- 参数base - base指向数组的起始地址,通常该位置传入的是一个数组名。
- 参数nmemb - nmemb表示该数组的元素个数 。
- 参数size - size表示该数组中每个元素的大小(字节数)
- 参数
(*compar)(const void *, const void *)
- 此为指向比较函数的函数指针,决定了排序的顺序。
qsort使用时需要包含<stdlib.h>
2.应用
1.对整型排序
2.对浮点型排序
比较浮点型数据的大小时,对于double类型的数据,一般两个数据的差值小于等于1e-15时可视为相等,因为double类型的数据一般只能精确保存到第15位小数,后面数据会出现误差。float类型的数据同理,一般两个数据的差值小于等于1e-6时可视为相等。
fabs是对小数取绝对值的函数,使用时需要包含<math.h>
3.对结构体排序
分为按结构体中的整型(年龄)和字符串(名字)两种方式排序,对字符串比较时需用到strcmp的库函数,需要包含<string.h>
3.对qsort的模拟实现
仿照冒泡排序的算法进行模拟