在C++ STL中的unordered_multiset reserve()方法
reserve() 是 unordered_multiset 中的一个函数,用于设置容器(bucket_count)含有的桶的数量,保证至少容纳n个元素最为适当。
如果n大于当前桶容量乘以最大负载因子,容器的桶容量就会增加,从而强制重排。
如果n比当前桶容量小,则该方法可能没有任何效果。
语法:
void reserve(size_type n);
其中size_type是无符号整数类型。
参数:此方法接受一个必需参数n,它是所请求的最小容量数量。
返回值:它不返回任何值。
下面是用于说明reserve()方法的程序:
示例1:
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<int> j;
// 调用容器并将值倒置
j.reserve(5);
// 设置容器的值
j.insert(5);
j.insert(6);
j.insert(7);
cout << "unordered_multiset中的值:";
for (const int& x : j)
cout << " " << x;
return 0;
}
unordered_multiset中的值:7 6 5
示例2:
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<string> j;
// 调用容器并将值倒置
j.reserve(5);
// 设置容器的值
j.insert("Geeks");
j.insert("forGeeks");
j.insert("GeeksforGeeks");
cout << "unordered_multiset中的值:";
for (const string& x : j)
cout << " " << x;
return 0;
}
unordered_multiset中的值:GeeksforGeeks forGeeks Geeks```