溫馨提示×

c++ qsort如何使用

c++
小樊
95
2024-11-25 07:32:39
欄目: 編程語言

qsort是C++中用于對數組進行排序的庫函數,它需要用戶自定義比較函數來確定元素之間的順序

#include <iostream>
#include <algorithm> // 包含 qsort 函數的頭文件

// 自定義比較函數,用于比較兩個整數的大小
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; // 如果 a < b,返回 -1
    } else if (int_a > int_b) {
        return 1; // 如果 a > b,返回 1
    } else {
        return 0; // 如果 a == b,返回 0
    }
}

int main() {
    int arr[] = {5, 3, 8, 1, 6}; // 整數數組
    int n = sizeof(arr) / sizeof(arr[0]); // 計算數組長度

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

    std::cout << "Sorted array: ";
    for (int i = 0; i < n; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

在這個示例中,我們首先定義了一個名為compare的自定義比較函數,它接受兩個指向void類型的指針作為參數。然后,我們使用qsort函數對整數數組arr進行排序,并將自定義比較函數作為參數傳遞給它。最后,我們遍歷并輸出排序后的數組。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女