之前没有用过qsort()函数,偶尔遇见,在此做个实例。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num[10];
for (int i = 0; i < 10; i++)
{
num[i] = rand();
printf("%d\t",num[i]);
}
printf("\n");
int cmp(const void *a, const void *b);
qsort(num,10,sizeof(int),cmp);
for (int i = 0; i < 10; i++)
{
printf("%d\t",num[i]);
}
printf("\n");
system("pause");
return 0;
}
int cmp(const void *a, const void *b)
{
return (*(int*)a - *(int*)b);
}
qsort(num,10,sizeof(int),cmp);
num表示待排序的数组;
10表示数组元素的个数;
sizeof(int)表示数组中单个元素的大小,当然用sizeof(num[0])也是可以的;
cmp用于决定排序的方式,在此为从小到大排序,如果要从打到小排序,将该函数中的语句修改为return (*(int*)b - *(int*)a);
对这个不是很理解,先mark
本文通过一个具体的实例展示了如何使用qsort()函数进行数组排序。包括了qsort()函数的基本用法,参数解释以及自定义比较函数的实现,旨在帮助初学者理解并掌握这一重要的C语言标准库函数。
336

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



