哈希表(数据结构)

定义

#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;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值