c语言

c语言排序函数如何调用

小亿
139
2024-05-09 11:40:52
栏目: 编程语言

在C语言中,如果要使用排序函数,一般需要包含头文件 <stdlib.h>,并调用其中的 qsort 函数来进行排序。qsort 函数需要四个参数:

  1. 要排序的数组的首元素地址
  2. 数组中元素的个数
  3. 每个元素的大小(以字节为单位)
  4. 指向比较函数的指针

比较函数的格式如下:

int compareFunction(const void *a, const void *b)

比较函数应该返回一个整数值,表示 a 和 b 的大小关系。如果返回值小于0,表示 a 在 b 之前;如果返回值为0,表示 a 和 b 相等;如果返回值大于0,表示 a 在 b 之后。

下面是一个使用 qsort 函数进行排序的例子:

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

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

int main() {
    int arr[] = {5, 2, 8, 1, 3, 9};
    int n = sizeof(arr) / sizeof(arr[0]);

    qsort(arr, n, sizeof(int), compareFunction);

    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

在上面的例子中,我们首先定义了一个比较函数 compareFunction,然后创建了一个整数数组 arr,并将其传递给 qsort 函数进行排序。最后输出排序后的数组。

0
看了该问题的人还看了