std::unordered_map::rehash()是內置函數C++ STL,可將容器中的存儲桶數設置為n或更大。句法
void rehash( size_type s );
- 如果s大於當前進入容器的存儲桶,則重新進行哈希處理。新的存儲桶計數可以大於或等於n。
- 如果s小於當前存儲桶計數,那麽函數的影響可能會或可能不會。這完全取決於編譯器
參數:它需要將新數量的存儲桶放入容器中。
返回類型:它的返回類型為none。
示例1:
// C++ code to illustrate the method
// unordered_map rehash
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map<char, int> sample;
// Map initialization
sample = { { 'a', 2 }, { 'b', 4 }, { 'c', 6 } };
cout << " Size of container:" << sample.size() << endl;
cout << " Initial bucket count:" << sample.bucket_count() << endl;
// changing rehash
sample.rehash(30);
cout << " Size of container:" << sample.size() << endl;
cout << " Now bucket count is: " << sample.bucket_count() << endl;
return 0;
}
輸出:
Size of container:3 Initial bucket count:5 Size of container:3 Now bucket count is: 31
示例2:
// C++ code to illustrate the method
// unordered_map rehash
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_map<int, int> sample;
// Map initialization
sample = { { 2, 2 }, { 3, 4 }, { 4, 6 }, { 5, 8 } };
cout << " Size of container:" << sample.size() << endl;
cout << " Initial bucket count:" << sample.bucket_count() << endl;
// changing rehash
sample.rehash(20);
cout << " Size of container:" << sample.size() << endl;
cout << " Now bucket count is: " << sample.bucket_count() << endl;
return 0;
}
輸出:
Size of container:4 Initial bucket count:7 Size of container:4 Now bucket count is: 23
相關用法
- C++ unordered_set rehash()用法及代碼示例
- C++ unordered_multiset rehash()用法及代碼示例
- C++ unordered_multimap rehash()用法及代碼示例
- C++ cin get()用法及代碼示例
注:本文由純淨天空篩選整理自ankit15697大神的英文原創作品 unordered_map rehash in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。