91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何自定義qsort的比較函數

小樊
82
2024-10-16 07:25:02
欄目: 編程語言

在C語言中,qsort函數是用于對數組進行快速排序的標準庫函數。要自定義qsort的比較函數,你需要傳遞一個指向函數的指針作為參數,該函數應接受兩個指向要比較的元素的指針,并返回一個整數來指示它們的順序。

以下是一個自定義比較函數的示例,該函數按照降序比較兩個整數:

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

// 自定義比較函數,按降序比較兩個整數
int compare(const void *a, const void *b) {
    int int_a = *(int*)a;
    int int_b = *(int*)b;
    if (int_a > int_b) {
        return -1;
    } else if (int_a < int_b) {
        return 1;
    } else {
        return 0;
    }
}

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

    // 使用自定義比較函數對數組進行排序
    qsort(arr, n, sizeof(int), compare);

    // 打印排序后的數組
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

在這個示例中,我們定義了一個名為compare的比較函數,它接受兩個指向整數的指針,并返回一個整數來指示它們的順序。然后,我們在main函數中使用qsort函數對數組進行排序,并將自定義比較函數作為參數傳遞給它。最后,我們打印排序后的數組以驗證結果。

0
聂荣县| 榆林市| 常德市| 天等县| 文安县| 舒兰市| 肃北| 浪卡子县| 米易县| 砚山县| 芜湖市| 河曲县| 建水县| 张家口市| 黑水县| 虎林市| 嵩明县| 舒兰市| 汉源县| 芷江| 高淳县| 乌兰县| 霍山县| 清新县| 塔城市| 图木舒克市| 高尔夫| 原平市| 曲周县| 泽州县| 鹿泉市| 历史| 黄大仙区| 榆林市| 合江县| 保康县| 霍林郭勒市| 民县| 乌拉特前旗| 区。| 修武县|