亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++ next_permutation如何定制比較函數

c++
小樊
83
2024-07-13 04:24:27
欄目: 編程語言

在C ++中使用next_permutation時,可以通過自定義比較函數來指定排序規則。比較函數必須滿足嚴格弱序關系,即滿足反對稱性、傳遞性和非對稱性。

下面是一個示例,在next_permutation中使用自定義的比較函數,該比較函數將按照數字的絕對值大小進行排序:

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

bool compareAbs(int a, int b) {
    return abs(a) < abs(b);
}

int main() {
    std::vector<int> vec = {3, -1, 4, -5, 2};
    
    std::sort(vec.begin(), vec.end(), compareAbs);
    
    do {
        for (int i : vec) {
            std::cout << i << " ";
        }
        std::cout << std::endl;
    } while (std::next_permutation(vec.begin(), vec.end(), compareAbs));
    
    return 0;
}

在上面的示例中,compareAbs函數指定了按照數字的絕對值大小進行排序。然后在std::sortstd::next_permutation函數中傳入該比較函數,從而實現按照絕對值大小進行排序和生成排列。

0
孝感市| 海南省| 营山县| 保山市| 澄江县| 新巴尔虎左旗| 略阳县| 巴塘县| 象山县| 田阳县| 屏边| 扎赉特旗| 公安县| 河源市| 恭城| 湾仔区| 砀山县| 江源县| 庆元县| 淮北市| 双峰县| 竹山县| 汨罗市| 瑞丽市| 荥经县| 曲沃县| 原平市| 辽中县| 丹寨县| 友谊县| 图片| 罗山县| 咸阳市| 揭阳市| 稷山县| 苏州市| 桦甸市| 龙门县| 措美县| 巴楚县| 会昌县|