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 << " "; }
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 << " "; }
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