直接进入主题,在c语言中qsort函数是用来快速排序的,qsort有4个参数,分别是数组地址,数组元素个数,数组元素字节大小和一个比较数组元素的函数指针。让我来看一下官方给出的使用标准,上图:

让我们把重点放在函数指针:
指向比较两个元素的函数的指针。
此函数由反复调用编译器函数库自带的快速排序函数比较两个元素。它应遵循以下原型:
|
|
举例:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//用来比较两个元素的函数
int qsort_int(const void *a1,const void *a2)
{
return *(int*)a1 - *(int*)a2;
}
int main()
{
//定义数组
int arr1[10] = {10,2,1,8,6,9,5,4,7,3};
//数组元素个数
int sz1 = sizeof(arr1) / sizeof(arr1[0]);
//数组元素大小
int bytelen1 = sizeof(arr1[0]);
//qsort快速排序
qsort(arr1,sz1,bytelen1,qsort_int);
//打印输出
int i = 0;
for (i = 0; i < sz1; i++)
{
printf("%d ",arr1[

最低0.47元/天 解锁文章
2049

被折叠的 条评论
为什么被折叠?



