unordered_set的简单用法
一.定义
unordered_set<int> set;
unordered_set<int> set2;
set2=set1;
二.容量操作
set.empty();
set.size();
set.max_size();
set.reserve(1000);//改变容器容量
三.迭代器操作
unordered_set<int>::iterator
//头迭代器
ite_begin=set.begin();
//尾迭代器
ite_end=set.end();
四.增删查
//增:
set.insert(5);
//删:
set.erase(5);
set.clear();
//查:
unordered_set<int>::iterator find_iter=set.find(5);
set.count(5);//个数
//交换
set.swap(set1);
五.题目练习
题目链接
给定一个整数数组,判断是否存在重复元素
如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
unordered_set<int> set;
for(int num:nums){
if(set.find(num)!=set.end()){
return true;
}
set.insert(num);
}
return false;
}
};