unordered_map 的bucket(桶接口)

1.bucket(key)函数:它返回key键值所在的桶(存储区)的编号。
2.unordered_map 的begin()函数:注意,它是无序的,它返回一个unordered_map类型的迭代器(指针),它指向的位置不明确,是里面元素的任意一个。
在这里插入图片描述
3.cbegin()函数:是迭代器是指向一个元素的,不变,它指向的值也不能被改变。
4.cend()函数也同上。
在这里插入图片描述
在这里插入图片描述
5.bucket_count():返回容器中的桶数。注意,定义一个unordered_map容器,它是用哈希算法确定有几个桶。
桶的源码解析:https://www.zhihu.com/question/486008617/answer/2441189945

6.load_factor():返回每个桶的平均元素数量,就是unordered_map中的所有桶的平均元素值。
在这里插入图片描述
7.max_load_factor():管理每个桶中平均元素数量的最大值。最大因子为1,表示每个桶最多一个元素。

8.rehash(指定数量的桶):为至少为指定数量的桶预留存储空间并重新生成散列表。(注意,指定数量的桶的数不能比元素数量少,如果比元素数量少,则会把元素数当成桶数。)
在这里插入图片描述
9.reserve(n)函数:这个函数比较难,它创建足够多的bucket来容纳n个元素,如果以后添加的元素数量大于n,则它会重新触发哈希操作,具体触发取决于负载系数。这个函数将容器中的桶设置为最合适的大小,至少存放n个元素。(至于reserve(n)后出现的桶数,则是由哈希算法决定,肯定不是和咋们预想的那样一样。)
这个网址可以看看 http://www.manongjc.com/detail/30-ynxplxiagpxklvm.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值