- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ Unordered_map 库 - rehash() 函数
描述
C++ 函数std::unordered_map::rehash()将容器中的桶数设置为n或更多。
如果n大于容器中当前存储桶的数量,则强制重新散列。新的存储桶计数可以等于或大于 n。
如果n小于容器中当前存储桶的数量,则该函数可能对存储桶计数没有影响,并且可能不会强制重新哈希。
宣言
以下是 std::unordered_map::rehash() 函数形式 std::unordered_map 标头的声明。
C++11
void rehash(size_type n);
参数
n - 新的桶数
返回值
没有任何
时间复杂度
线性,即平均情况下的 O(n)。
二次,即最坏情况下的 O(n 2 )。
例子
以下示例显示了 std::unordered_map::rehash() 函数的用法。
#include <iostream> #include <unordered_map> using namespace std; int main (void) { unordered_map<char, int> mymap; cout << "Initial bucket_count: " << mymap.bucket_count() << endl; mymap.rehash(20); cout << "Current bucket_count: " << mymap.bucket_count() << endl; return 0; }
让我们编译并运行上面的程序,这将产生以下结果 -
Initial bucket_count: 11 Current bucket_count: 23
无序_map.htm