溫馨提示×

c++ 中的 set 能處理元素保留嗎

c++
小樊
93
2024-11-29 17:15:53
欄目: 編程語言

在 C++ 的 std::set 容器中,元素是自動排序的,并且不允許存在重復的元素。如果你想要在插入元素時保留元素的原始順序,你可以考慮使用 std::multiset 容器。std::multiset 允許存儲重復的元素,并且不會對元素進行排序。

以下是一個簡單的示例,展示了如何使用 std::setstd::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 存儲可重復的元素。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女