在 C++ 的 std::set
容器中,元素是自动排序的,并且不允许存在重复的元素。如果你想要在插入元素时保留元素的原始顺序,你可以考虑使用 std::multiset
容器。std::multiset
允许存储重复的元素,并且不会对元素进行排序。
以下是一个简单的示例,展示了如何使用 std::set
和 std::multiset
:
#include#include #include #include int main() { // 使用 std::set 存储不重复的元素 std::set my_set = {1, 2, 3, 4, 5}; std::cout << "std::set: "; for (const auto& elem : my_set) { std::cout << elem << ' '; } std::cout << std::endl; // 使用 std::multiset 存储可重复的元素 std::multiset my_multiset = {1, 2, 3, 4, 5, 5, 5}; std::cout << "std::multiset: "; for (const auto& elem : my_multiset) { std::cout << elem << ' '; } std::cout << std::endl; return 0; }
输出结果:
std::set: 1 2 3 4 5 std::multiset: 1 2 3 4 5 5 5
在这个示例中,我们使用 std::set
存储不重复的元素,使用 std::multiset
存储可重复的元素。