在C语言中,如果要使用排序函数,一般需要包含头文件 <stdlib.h>,并调用其中的 qsort 函数来进行排序。qsort 函数需要四个参数:
比较函数的格式如下:
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 函数进行排序。最后输出排序后的数组。


