C库函数做排序

C标准库中是否有可用的库函数来进行排序?



饮歌长啸
浏览 534回答 3
3回答

沧海一幻觉

qsort()是您要寻找的功能。您可以使用指向数据数组的指针,该数组中元素的数量,每个元素的大小以及一个比较函数来调用它。它发挥了神奇的作用,并且您的数组已就地排序。下面是一个示例:#include <stdio.h>#include <stdlib.h>int comp (const void * elem1, const void * elem2)&nbsp;{&nbsp; &nbsp; int f = *((int*)elem1);&nbsp; &nbsp; int s = *((int*)elem2);&nbsp; &nbsp; if (f > s) return&nbsp; 1;&nbsp; &nbsp; if (f < s) return -1;&nbsp; &nbsp; return 0;}int main(int argc, char* argv[])&nbsp;{&nbsp; &nbsp; int x[] = {4,5,2,3,1,0,9,8,6,7};&nbsp; &nbsp; qsort (x, sizeof(x)/sizeof(*x), sizeof(*x), comp);&nbsp; &nbsp; for (int i = 0 ; i < 10 ; i++)&nbsp; &nbsp; &nbsp; &nbsp; printf ("%d ", x[i]);&nbsp; &nbsp; return 0;}
打开App,查看更多内容
随时随地看视频慕课网APP