📜  C++ STL中的unordered_set reserve()函数

📅  最后修改于: 2021-05-30 11:32:48             🧑  作者: Mango

unordered_set :: reserve()方法是C++ STL中的内置函数,用于请求对unordered_set进行容量更改。它将容器中的存储桶数设置为至少包含n个元素。如果n大于当前的bucket_count乘以max_load_factor ,则增加容器的bucket_count并强制进行重新哈希。如果n小于bucket_count,则该函数对其无效。

语法

unordered_set_name.reserve(size_type n)

参数:该函数接受单个强制性参数n ,该参数将容器中的存储桶数(bucket_count)设置为最适合包含至少n个元素的存储桶。

返回值:该函数不返回任何内容。

下面的程序说明了unordered_set :: reserve()函数:

程序1:

// C++ program to illustrate
// the unordered_set.reserve()
#include 
#include 
#include 
  
using namespace std;
  
int main()
{
    // Declaration of unordered_set
    unordered_set us;
  
    us.reserve(3);
  
    us.insert("geeks");
    us.insert("for");
    us.insert("geeks");
    us.insert("users");
    us.insert("geeksforgeeks");
  
    for (auto it = us.begin(); it != us.end(); it++) {
        cout << *it << " ";
    }
  
    return 0;
}
输出:
geeksforgeeks users geeks for

程式2:

// C++ program to illustrate
// the unordered_set.reserve()
#include 
#include 
#include 
  
using namespace std;
  
int main()
{
    // Declaration of unordered_set
    unordered_set us;
  
    us.reserve(0);
  
    us.insert("geeks");
    us.insert("for");
    us.insert("geeks");
  
    for (auto it = us.begin(); it != us.end(); it++) {
        cout << *it << " ";
    }
  
    return 0;
}
输出:
for geeks
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”