定义
#include <unordered_set>
unordered_set<int> set;
插入元素
set.insert(10); // 插入单个元素
set.insert({20, 30, 40}); // 插入初始化列表
删除元素
unordered_set<int> set = {10, 20, 30, 40};
set.erase(20); // 删除单个元素
set.erase(begin(set), end(set)); // 删除整个区间
set.erase(set.find(30)); // 删除指定迭代器位置的元素
清除所有元素
set.clear();
查找元素,返回一个迭代器指向该元素的位置,如果元素不存在,则返回end()
(it是int*类型迭代器;auto
是一个类型说明符,它指示编译器根据赋值或初始化表达式的结果自动推导变量的类型)
auto it = set.find(20); // 查找元素
获取某个元素在 unordered_set
中出现的次数,返回值为0或1
set.count(20)
当前存储的元素数量
set.size();
是否为空(空为1,非空为0)
set.empty()
遍历元素(it是int*类型迭代器;auto
是一个类型说明符,它指示编译器根据赋值或初始化表达式的结果自动推导变量的类型)
unordered_set<int> set = {10, 20, 30, 40};
for (auto it = set.begin(); it != set.end(); ++it) {
cout << *it << " ";
}
cout << std::endl;