0
点赞
收藏
分享

微信扫一扫

C库函数qsort的使用

兵部尚输 2022-03-12 阅读 62
c语言
对于还没学过更好的排序算法的初学者来说,qsort函数可以更快的帮助我们对一个数组进行排序。

函数的声明:void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

参数:

  1. base -- 指向要排序的数组的第一个元素的指针。
  2. nitems -- 由 base 指向的数组中元素的个数。
  3. size -- 数组中每个元素的大小,以字节为单位。
  4. compar -- 用来比较两个元素的函数

 参考代码:

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a, const void *b)
{
    return abs(*(int*)b) - abs(*(int*)a);
}


int main(void)
{
    int n, i;
    
    while (scanf("%d", &n), n)
    {
        int x[n];
        for (i = 0 ; i < n ; i++)
            scanf("%d", &x[i]);
        qsort(x, n, sizeof(int), cmp);
        for (i = 0 ; i < n ; i++)
            printf("%d%c", x[i], (i != n - 1 ? ' ' : '\n'));
    }

    return 0;
}
	

效果展示:

 

举报

相关推荐

0 条评论