中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言怎么調用sort函數排序

小億
124
2023-10-08 01:39:59
欄目: 編程語言

在C語言中,可以使用stdlib.h頭文件中的qsort函數來進行排序操作。

qsort函數的原型如下:

void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
  • base:指向要排序的數組的首元素的指針。

  • nmemb:數組中元素的個數。

  • size:每個元素的大小。

  • compar:比較函數的指針,用于指定元素之間的比較規則。

比較函數的原型如下:

int compar(const void *a, const void *b);
  • a和b:指向要進行比較的兩個元素的指針。

  • 返回值:

  • 如果a小于b,返回一個負整數。

  • 如果a等于b,返回0。

  • 如果a大于b,返回一個正整數。

例如,對一個整型數組進行升序排序的示例代碼如下:

#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int arr[] = {5, 2, 8, 1, 9};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(int), cmp);
printf("排序后的數組:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}

運行結果:

排序后的數組:1 2 5 8 9

以上代碼示例中,使用了一個自定義的比較函數cmp來指定元素之間的比較規則,該函數通過將兩個指針轉換為對應的整型指針,并通過解引用操作來獲取元素的值進行比較。

0
左云县| 江源县| 开平市| 连平县| 宜阳县| 长乐市| 梁河县| 黎川县| 巴青县| 庆元县| 叙永县| 芮城县| 襄城县| 华蓥市| 军事| 龙游县| 余江县| 都江堰市| 广灵县| 大安市| 屏山县| 郁南县| 洞口县| 揭西县| 都昌县| 大石桥市| 汤原县| 运城市| 玛曲县| 合水县| 若尔盖县| 惠水县| 鸡东县| 玛多县| 莒南县| 普陀区| 澄迈县| 南昌市| 贵定县| 建昌县| 栖霞市|