无序容器的rehash()操作后的条件bucket_count >size/max_load_factor是...
发布网友
发布时间:2024-02-26 08:56
我来回答
共1个回答
热心网友
时间:2024-06-04 04:18
这个好理解。无序容器的内部是由一个个的bucket(桶)构成的,每个bucket里面由相同hash的元素构成。 因此无序容器的搜索是先根据hash值,定位到bucket,然后再在bucket里面搜索符合条件的元素。
buck_count - 就是无序容器内部bucket的数量;
size - 无序容器中总的元素数量;
max_load_factor - 就是bucket所容纳的最大平均元素的数量(可以是分数值)。
『例如』:如果一个容器中有100个元素,容器中bucket的最大平均元素值是12.5,那么需要多少个桶才能完全装下这100个元素呢? 100/12.5 = 8, 为确保有足够的桶,bucket数量起码是>8(即最少9个)。