C标准库中有没有可用的库函数来进行排序?
最佳答案
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;
}
关于用于执行排序的 C 库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47488154/