c++

c++ set怎样去重操作

小樊
87
2024-11-16 15:46:42
栏目: 编程语言

在C++中,std::set是一个关联容器,它会自动存储唯一元素,不允许重复。因此,在大多数情况下,您不需要执行任何特殊操作来去重。如果您有一个包含重复元素的std::vector或其他容器,您可以将其转换为一个std::set,从而自动去除重复元素。以下是一个示例:

#include <iostream>
#include <vector>
#include <set>

int main() {
    std::vector<int> vec = {1, 2, 2, 3, 4, 4, 5};

    // 将向量转换为集合,从而自动去除重复元素
    std::set<int> s(vec.begin(), vec.end());

    // 输出集合中的元素
    for (int num : s) {
        std::cout << num << " ";
    }

    return 0;
}

输出结果:

1 2 3 4 5

在这个示例中,我们首先创建了一个包含重复元素的std::vector。然后,我们使用std::set的构造函数将向量转换为一个集合。这将自动去除重复元素。最后,我们遍历集合并输出其元素。

0
看了该问题的人还看了