c++中set容器排序的方法是什么

c++
小億
125
2024-05-17 14:25:15

在C++中,set容器是自動(dòng)排序的容器,其元素默認(rèn)按照從小到大的順序進(jìn)行排序。如果需要自定義排序方法,可以使用set容器的構(gòu)造函數(shù)來(lái)指定排序方法,例如:

#include <set>

// 自定義排序方法,按照元素的長(zhǎng)度進(jìn)行排序
struct CompareByLength {
    bool operator() (const std::string& str1, const std::string& str2) const {
        return str1.length() < str2.length();
    }
};

int main() {
    std::set<std::string, CompareByLength> mySet;

    mySet.insert("hello");
    mySet.insert("world");
    mySet.insert("c++");

    for (const auto& str : mySet) {
        std::cout << str << std::endl;
    }

    return 0;
}

在上面的例子中,我們通過自定義CompareByLength結(jié)構(gòu)體來(lái)指定set容器按照字符串的長(zhǎng)度進(jìn)行排序。在創(chuàng)建set容器時(shí),將CompareByLength作為第二個(gè)模板參數(shù)傳入,即可實(shí)現(xiàn)自定義排序方法。

0