这里写自定义目录标题
#include <iostream>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<stack>
#include<string>
#include<algorithm>
#include<unordered_set>
#include<limits>
#include<limits.h>
using namespace std;
int main() {
unordered_set<int> _set;
int n = 100;
for (int i = 0; i < n; ++i) {
_set.insert(i);
if (i % 4 == 0) {
cout << "insert: " << i << " ==== " << _set.bucket_count() << endl;
}
}
}

可以看到unordered_set初始时是以8倍进行扩容的。

而在unordered_set大于等于512时,是以2倍进行扩容的。
unordered_map扩容策略与unordered一致。
本文详细解释了C++中unordered_set和unordered_map的数据结构在初始化和增长时的扩容策略,重点讨论了它们在达到特定阈值时如何从8倍到2倍的扩容变化。
2518

被折叠的 条评论
为什么被折叠?



