función unordered_set reserve() en C++ STL

El método unordered_set::reserve() es una función incorporada en C++ STL que se usa para solicitar un cambio de capacidad de unordered_set. Establece el número de cubos en el contenedor para que contengan al menos n elementos. Si n es mayor que el bucket_count actual multiplicado por max_load_factor , el bucket_count del contenedor aumenta y se fuerza un refrito. Si n es más bajo que bucket_count, entonces la función no tiene efecto sobre él. Sintaxis :

unordered_set_name.reserve(size_type n)

Parámetro : la función acepta un solo parámetro obligatorio n que establece el número de cubos en el contenedor (bucket_count) en el más apropiado para contener al menos n elementos. Valor devuelto : esta función no devuelve nada. Los siguientes programas ilustran la función unordered_set::reserve(): Programa 1: 

CPP

// C++ program to illustrate
// the unordered_set.reserve()
#include <iostream>
#include <string>
#include <unordered_set>
 
using namespace std;
 
int main()
{
    // Declaration of unordered_set
    unordered_set<string> 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;
}
Producción:

geeksforgeeks users geeks for

Programa 2: 

CPP

// C++ program to illustrate
// the unordered_set.reserve()
#include <iostream>
#include <string>
#include <unordered_set>
 
using namespace std;
 
int main()
{
    // Declaration of unordered_set
    unordered_set<string> 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;
}
Producción:

for geeks

Complejidad del tiempo: O(N)
 

Publicación traducida automáticamente

Artículo escrito por barykrg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *