在C++中,set
是一个关联容器,它包含一组唯一的对象。每个元素在插入时自动按键(key)排序。set
不支持下标运算符([]
),因为元素没有与其关联的键值。要访问set
中的元素,通常使用迭代器。
以下是一个简单的示例,展示了如何使用C++的set
集合实现数据去重:
#include<iostream>
#include <set>
#include<vector>
int main() {
// 创建一个包含重复元素的向量
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9};
// 创建一个空的set集合
std::set<int> s;
// 将向量中的元素插入到set集合中,实现去重
for (int num : vec) {
s.insert(num);
}
// 输出去重后的元素
std::cout << "去重后的元素: ";
for (int num : s) {
std::cout<< num << " ";
}
std::cout<< std::endl;
return 0;
}
在这个示例中,我们首先创建了一个包含重复元素的vector
。然后,我们创建了一个空的set
集合,并将vector
中的元素插入到set
集合中。由于set
集合中的元素是唯一的,所以重复的元素会被自动删除。最后,我们输出去重后的元素。