在 C++ 的 std::set
容器中,元素是自动排序的,并且不允许存在重复的元素。如果你想要在插入元素时保留元素的原始顺序,你可以考虑使用 std::multiset
容器。std::multiset
允许存储重复的元素,并且不会对元素进行排序。
以下是一个简单的示例,展示了如何使用 std::set
和 std::multiset
:
#include <iostream>
#include <set>
#include <multiset>
#include <vector>
int main() {
// 使用 std::set 存储不重复的元素
std::set<int> 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<int> 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
存储可重复的元素。