在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
函數進行排序。最后輸出排序后的數組。