C标准库中是否有可用的库函数来进行排序?
3 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
qsort()是您要寻找的功能。您可以使用指向数据数组的指针,该数组中元素的数量,每个元素的大小以及一个比较函数来调用它。
它发挥了神奇的作用,并且您的数组已就地排序。下面是一个示例:
#include <stdio.h>
#include <stdlib.h>
int comp (const void * elem1, const void * elem2)
{
int f = *((int*)elem1);
int s = *((int*)elem2);
if (f > s) return 1;
if (f < s) return -1;
return 0;
}
int main(int argc, char* argv[])
{
int x[] = {4,5,2,3,1,0,9,8,6,7};
qsort (x, sizeof(x)/sizeof(*x), sizeof(*x), comp);
for (int i = 0 ; i < 10 ; i++)
printf ("%d ", x[i]);
return 0;
}
- 3 回答
- 0 关注
- 564 浏览
添加回答
举报
0/150
提交
取消