在 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
存儲可重復的元素。