qsort C · 内存管理
用快速排序算法对数组进行排序。
怎么用
qsort(数组, 元素个数, 每个元素大小, 比较函数);
小例子
#include <stdio.h>
#include <stdlib.h>
int cmp(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
int main(void) {
int a[] = {3, 1, 2};
qsort(a, 3, sizeof(int), cmp);
printf("%d %d %d", a[0], a[1], a[2]);
return 0;
}
运行结果
输出 1 2 3
提醒:比较函数要返回负数、0、正数;整数相减可能溢出,安全写法用 (a>b)-(a<b)
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条