为了账号安全,请及时绑定邮箱和手机立即绑定

C库函数做排序

C库函数做排序

C
饮歌长啸 2019-10-16 12:54:53
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;

}


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 564 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信