c++

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

小亿
125
2024-05-17 14:25:15
栏目: 编程语言

在C++中,set容器是自动排序的容器,其元素默认按照从小到大的顺序进行排序。如果需要自定义排序方法,可以使用set容器的构造函数来指定排序方法,例如:

#include <set>

// 自定义排序方法,按照元素的长度进行排序
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结构体来指定set容器按照字符串的长度进行排序。在创建set容器时,将CompareByLength作为第二个模板参数传入,即可实现自定义排序方法。

0
看了该问题的人还看了