C++STL
unordered_set
头文件 #include <unordered_set>
.
unordered_set<int> uset;
// 插入,时间复杂度为 O(1),但可能会退化为 O(n).
uset.insert(10);
uset.insert(-6);
// 初始化
unordered_set<int> uset = {10, 20, 30};
//迭代
for (auto it = uset.begin(); it != uset.end(); it++) {
// ...
cout << *it << endl;
}
// 查找,不存在返回 uset.end(),存在返回其迭代器指针
uset.find(10);
// 检查元素是否存在,不存在返回 0,存在返回 1
uset.count(20);
// 通过值删除某个元素
uset.erase(20);
// 通过迭代器指针删除某个元素
auto it = uset.find(20);
if (it != uset.end()) {
uset.erase(it);
}