C++ sort()如何實(shí)現(xiàn)自定義排序

c++
小樊
94
2024-07-18 14:37:28
欄目: 編程語言

要實(shí)現(xiàn)自定義排序,可以使用sort()函數(shù)的第三個(gè)參數(shù),即自定義的比較函數(shù)。比較函數(shù)需要接受兩個(gè)參數(shù),表示兩個(gè)元素,然后返回一個(gè)bool值,表示這兩個(gè)元素的比較結(jié)果。

以下是一個(gè)示例,演示如何使用sort()函數(shù)實(shí)現(xiàn)自定義排序:

#include <iostream>
#include <algorithm>
#include <vector>

// 自定義比較函數(shù),按照元素的絕對(duì)值大小進(jìn)行排序
bool compare(int a, int b) {
    return abs(a) < abs(b);
}

int main() {
    std::vector<int> vec = {3, -1, 4, -5, 2};

    // 使用自定義的比較函數(shù)進(jìn)行排序
    std::sort(vec.begin(), vec.end(), compare);

    // 輸出排序后的結(jié)果
    for (int num : vec) {
        std::cout << num << " ";
    }

    return 0;
}

在上面的示例中,我們定義了一個(gè)compare函數(shù),按照元素的絕對(duì)值大小進(jìn)行排序。然后在sort()函數(shù)中傳入這個(gè)自定義的比較函數(shù),實(shí)現(xiàn)自定義排序。最后輸出排序后的結(jié)果。

0