borrado unordered_multimap en C++ STL

unordered_multimap::erase() es una función incorporada en C++ STL que elimina el elemento del rango dado, por posición y por clave. Hay tres variantes de esta función en C++ STL.
Existen los siguientes tipos de funciones erase() en C++ para unordered_multimap.

  1. Por posición : elimina el elemento de unordered_multimap por la posición dada y devuelve un iterador que apunta a la posición inmediatamente posterior al último de los elementos borrados.
  2. Por clave: Elimina elementos por la clave. Devuelve el número de elementos que se han borrado.
  3. Por rango: toma el iterador primero y el último y elimina todos los elementos entre ellos, incluido el primero pero excluyendo el último. Devuelve un iterador que apunta a la posición inmediatamente posterior al último de los elementos borrados.

Sintaxis:

  1. borrado del iterador (posición del iterador)
  2. borrar tamaño (key_type& k)
  3. borrado del iterador ( iterador primero, último iterador );

Los programas a continuación explican las funciones anteriores.
Ejemplo 1

// C++ program to illustrate the
// unordered_multimap::erase() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // declaration of unordered_multimap
    unordered_multimap<char, int> sample;
  
    // inserts element
    sample.insert({ 'a', 2 });
    sample.insert({ 'b', 4 });
    sample.insert({ 'c', 8 });
    sample.insert({ 'd', 10 });
    sample.insert({ 'c', 4 });
    sample.insert({ 'e', 4 });
    sample.insert({ 'f', 4 });
    cout << " Elements of multimap are : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
  
    // delete element by position
    sample.erase(sample.begin());
  
    // print after delete by position
    cout << " Elements of multimap after deleting by position are : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
  
    // erase by Element
    sample.erase('c');
  
    // print after delete by element
    cout << " Elements of multimap after deleting by element name : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
  
    // erase by range
    sample.erase(sample.find('e'), sample.end());
  
    // print after delete by range
    cout << " Elements of multimap after deleting by range are : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
    return 0;
}
Producción:

Elements of multimap are : 
f : 4
b : 4
a : 2
c : 4
c : 8
d : 10
e : 4
 Elements of multimap after deleting by position are : 
b : 4
a : 2
c : 4
c : 8
d : 10
e : 4
 Elements of multimap after deleting by element name : 
b : 4
a : 2
d : 10
e : 4
 Elements of multimap after deleting by range are : 
b : 4
a : 2
d : 10

Ejemplo 2

// C++ program to illustrate the
// unordered_multimap::erase() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // declaration of unordered_multimap
    unordered_multimap<int, int> sample;
  
    // inserts element
    sample.insert({ 1, 2 });
    sample.insert({ 2, 4 });
    sample.insert({ 3, 8 });
    sample.insert({ 4, 10 });
    sample.insert({ 3, 4 });
    sample.insert({ 5, 4 });
    sample.insert({ 6, 4 });
    cout << " Elements of multimap are : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
  
    // delete element by position
    sample.erase(sample.begin());
  
    // print after delete by position
    cout << " Elements of multimap after deleting by position are : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
  
    // erase by Element
    sample.erase(3);
  
    // print after delete by element
    cout << " Elements of multimap after deleting by element name : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
  
    // erase by range
    sample.erase(sample.find(5), sample.end());
  
    // print after delete by range
    cout << " Elements of multimap after deleting by range are : \n";
    for (auto& x : sample)
        cout << x.first << " : " << x.second << endl;
    return 0;
}
Producción:

Elements of multimap are : 
6 : 4
2 : 4
1 : 2
3 : 4
3 : 8
4 : 10
5 : 4
 Elements of multimap after deleting by position are : 
2 : 4
1 : 2
3 : 4
3 : 8
4 : 10
5 : 4
 Elements of multimap after deleting by element name : 
2 : 4
1 : 2
4 : 10
5 : 4
 Elements of multimap after deleting by range are : 
2 : 4
1 : 2
4 : 10

Publicación traducida automáticamente

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