在C語言中,sort函數用于對數組進行排序。其函數原型為:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *));
參數說明:
base
:指向要排序的數組的起始位置的指針。nitems
:數組中元素的個數。size
:數組中每個元素的大小(以字節為單位)。compar
:指向一個比較函數的指針,用于定義數組元素的排序規則。比較函數的原型為:
int compar(const void *a, const void *b);
比較函數應該返回一個負數、零或正數,分別表示第一個參數應該排在第二個參數之前、相等或之后。比較函數的實現根據排序的需求而定。
下面是一個使用qsort
函數對整型數組進行升序排序的示例代碼:
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int arr[] = {5, 2, 8, 1, 6};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(int), compare);
printf("Sorted array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
以上代碼會對數組arr
進行升序排序,并輸出排序后的結果。