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

La función unordered_set::emplace_hint() es una función incorporada en C++ STL que inserta un nuevo elemento en unordered_set solo si el valor que se insertará es único, con una pista determinada. Sintaxis:

unordered_set_name.emplace_hint( position, value )

Parámetro: Esta función acepta dos parámetros como se mencionó anteriormente y se describe a continuación:

  • posición: Este parámetro se utiliza para describir la posición para la operación insertada.
  • valor: este parámetro se utiliza para contener el que se necesita insertar.

Valor devuelto: si el valor no está presente en unordered_set, la función inserta el valor y devuelve un iterador que apunta al elemento insertado. De lo contrario, si el valor ya está presente en unordered_set, la función devuelve el iterador que apunta a ese elemento. El siguiente programa ilustra la función unordered_set::emplace_hint() en C++ STL: Programa 1: 

CPP

// CPP program to illustrate
// unordered_set::emplace_hint() function
#include <iostream>
#include <unordered_set>
using namespace std;
 
// main program
int main()
{
 
    // Initialize an unordered_set
    unordered_set<int> uset = { 20, 40, 50, 60 };
 
    // Insert an element that is not present
    uset.emplace_hint(uset.begin(), 80);
 
    // Display uset
    cout << "uset: ";
    for (auto it = uset.begin(); it != uset.end(); it++)
        cout << *it << " ";
}
Producción:

uset: 80 20 40 50 60

Programa 2: 

CPP

// CPP program to illustrate
// unordered_set::emplace_hint() function
#include <iostream>
#include <unordered_set>
using namespace std;
 
// main program
int main()
{
 
    // Initialize an unordered_set
    unordered_set<int> uset = { 20, 40, 50, 60 };
 
    // Try to Insert an element that is not present
    uset.emplace_hint(uset.begin(), 50);
 
    // Display uset
    cout << "uset: ";
    for (auto it = uset.begin(); it != uset.end(); it++)
        cout << *it << " ";
}
Producción:

uset: 60 50 40 20

Complejidad temporal: O(n)

Publicación traducida automáticamente

Artículo escrito por tufan_gupta2000 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 *