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

La función unordered_set::emplace() es una función integrada en C++ STL que se usa para insertar un elemento en un contenedor unordered_set. El elemento se inserta solo si aún no está presente en el contenedor. Esta inserción también aumenta efectivamente el tamaño del contenedor 1.
Sintaxis
 

unordered_set_name.emplace(element)

Parámetro : esta función acepta un solo elemento de parámetro que se insertará en el contenedor unordered_set.
Valor de retorno : esta función devuelve un par en la inserción exitosa. El par consta de un iterador que apunta al elemento recién insertado y un valor booleano True . Si el elemento que se va a insertar ya está presente en el contenedor, devuelve un par con un iterador que apunta al elemento ya presente y un valor booleano falso .
Los siguientes programas ilustran la función unordered_set::emplace() :
Programa 1
 

CPP

// C++ program to illustrate the
// unordered_set::emplace() function
 
#include <iostream>
#include <unordered_set>
 
using namespace std;
 
int main()
{
 
    unordered_set<int> sampleSet;
 
    // Inserting elements
    sampleSet.emplace(5);
    sampleSet.emplace(10);
    sampleSet.emplace(15);
    sampleSet.emplace(20);
    sampleSet.emplace(25);
 
    // displaying all elements of sampleSet
    cout << "sampleSet contains: ";
    for (auto itr = sampleSet.begin(); itr != sampleSet.end(); itr++) {
        cout << *itr << " ";
    }
 
    return 0;
}
Producción: 

sampleSet contains: 25 5 10 15 20

 

Programa 2
 

CPP

// C++ program to illustrate the
// unordered_set::emplace() function
 
#include <iostream>
#include <unordered_set>
 
using namespace std;
 
int main()
{
 
    unordered_set<string> sampleSet;
 
    // Inserting elements using
    // emplace() function
    sampleSet.emplace("Welcome");
    sampleSet.emplace("To");
    sampleSet.emplace("GeeksforGeeks");
    sampleSet.emplace("Computer Science Portal");
    sampleSet.emplace("For Geeks");
 
    // displaying all elements of sampleSet
    cout << "sampleSet contains: ";
    for (auto itr = sampleSet.begin(); itr != sampleSet.end(); itr++) {
        cout << *itr << " ";
    }
 
    return 0;
}
Producción: 

sampleSet contains: Welcome To GeeksforGeeks For Geeks Computer Science Portal

 

Complejidad temporal: 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 *