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);
}
posted @ 2024-11-10 13:26  昤昽  阅读(4)  评论(0编辑  收藏  举报