función unordered_multiset erase() en C++ STL

La función unordered_multiset::erase() es una función incorporada en C++ STL que se usa para eliminar un solo elemento o todos los elementos con un valor definido o un rango de elementos que van desde el inicio (incluido) hasta el final (exclusivo). ). Esto disminuye el tamaño del contenedor por el número de elementos eliminados.

Sintaxis :

  1. unordered_multiset_name.erase(posición del iterador)
  2. unordered_multiset_name.erase(inicio del iterador, final del iterador)
  3. unordered_multiset_name.erase(key_value)

Parámetros : Esta función tiene tres versiones.

  1. El primero toma un iterador como argumento, borra el elemento presente en esa posición.
  2. La segunda versión toma dos iteradores (por ejemplo, inicio y final) toma 2 iteradores como argumento y borra todos los elementos en el rango [inicio, final].
  3. La tercera versión toma un valor clave como argumento y borra todos los elementos de ese valor en el conjunto múltiple.

Valor de retorno : la primera y segunda versión de la función, como se muestra en la sintaxis anterior, devuelve un iterador inmediatamente después del último elemento borrado. La tercera versión devuelve el número de elementos borrados.

Los siguientes programas ilustran la función unordered_multiset::erase():
Programa 1 :

// C++ program to illustrate the
// unordered_multiset::erase() function
  
#include <iostream>
#include <unordered_set>
  
using namespace std;
  
int main()
{
    unordered_multiset<int> samplemultiSet;
  
    // Inserting elements
    samplemultiSet.insert(10);
    samplemultiSet.insert(5);
    samplemultiSet.insert(15);
    samplemultiSet.insert(20);
    samplemultiSet.insert(25);
    samplemultiSet.insert(10);
    samplemultiSet.insert(15);
    samplemultiSet.insert(20);
  
    // Erases a particular element by its position
    samplemultiSet.erase(samplemultiSet.begin());
  
    // Displaying the set after removal
    for (auto it = samplemultiSet.begin(); 
                    it != samplemultiSet.end(); it++) 
    {
        cout << *it << " ";
    }
  
    // erases a range of elements, 
    // here all the elements
    samplemultiSet.erase(samplemultiSet.begin(), 
                              samplemultiSet.end());
  
    cout << "\nMultiSet size: " << samplemultiSet.size();
  
    return 0;
}
Producción:

10 10 15 15 20 20 25 
MultiSet size: 0

Programa 2 :

// C++ program to illustrate the
// unordered_multiset::erase() function
  
#include <iostream>
#include <unordered_set>
  
using namespace std;
  
int main()
{
    unordered_multiset<int> samplemultiSet;
  
    // Inserting elements
    samplemultiSet.insert(10);
    samplemultiSet.insert(5);
    samplemultiSet.insert(15);
    samplemultiSet.insert(20);
    samplemultiSet.insert(25);
    samplemultiSet.insert(10);
    samplemultiSet.insert(15);
    samplemultiSet.insert(20);
  
    // Erases all elements of value 10
    samplemultiSet.erase(10);
  
    // Displaying the set after removal
    for (auto it = samplemultiSet.begin(); 
                it != samplemultiSet.end(); it++) 
    {
        cout << *it << " ";
    }
  
    return 0;
}
Producción:

5 15 15 20 20 25

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 *