Biblioteca de mapas de C ++ - función erase ()

Descripción

La función C ++ std::map::erase()elimina un solo elemento del mapa de su posición .

Esta función miembro reduce el tamaño del mapa en uno.

Declaración

A continuación se muestra la declaración de la función std :: map :: erase () desde el encabezado std :: map.

C ++ 11

iterator erase (const_iterator position);

Parámetros

position - Iterador del elemento a eliminar.

Valor devuelto

Devuelve un iterador que sigue al último elemento eliminado.

Excepciones

Esta función miembro no lanza una excepción.

Complejidad del tiempo

Logarítmico, es decir, log (n).

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: map :: erase ().

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Initializer_list constructor */
   map<char, int> m = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5},
            };

   cout << "Map contains following elements before erase operation" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   auto it = m.erase(m.begin());

   cout << "Map contains following elements after erase operation" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   cout << "After erase operation iterator points to = " << it->first << endl;

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Map contains following elements before erase operation
a = 1
b = 2
c = 3
d = 4
e = 5
Map contains following elements after erase operation
b = 2
c = 3
d = 4
e = 5
After erase operation iterator points to = b