在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
的构造函数将向量转换为一个集合。这将自动去除重复元素。最后,我们遍历集合并输出其元素。