Introducción
En este laboratorio, vamos a aprender sobre el método erase()
en el contenedor Map
de la STL de C++ para eliminar un rango de elementos en un Map
en el lenguaje de programación C++.
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En este laboratorio, vamos a aprender sobre el método erase()
en el contenedor Map
de la STL de C++ para eliminar un rango de elementos en un Map
en el lenguaje de programación C++.
Crea un nuevo archivo de C++ en el directorio ~/project
llamado main.cpp
usando el comando touch ~/project/main.cpp
y úbrelo con tu editor de texto preferido.
En este paso, crearemos un mapa y lo llenaremos con pares de clave-valor de enteros usando el método insert()
. La función make_pair()
se utiliza para insertar un par de clave-valor en el mapa. Las claves se ordenan automáticamente en orden ascendente de claves.
#include <iostream>
#include <map>
using namespace std;
int main()
{
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << " ===== Program to demonstrate the working of erase() method in a Map (Part 2), in CPP ===== \n\n\n";
map<int, int> m;
m.insert(make_pair(3, 30));
m.insert(make_pair(2, 20));
m.insert(make_pair(5, 50));
m.insert(make_pair(9, 90));
m.insert(make_pair(1, 10));
}
En este paso, eliminaremos los elementos del mapa con claves menores que un valor determinado usando el método erase()
. En este ejemplo, estamos eliminando todos los elementos con claves menores que 3. erase(m.begin(), m.find(3))
remueve todos los elementos desde el principio del mapa, hasta la posición del iterador que apunta al elemento con clave 3.
#include <iostream>
#include <map>
using namespace std;
int main()
{
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << " ===== Program to demonstrate the working of erase() method in a Map (Part 2), in CPP ===== \n\n\n";
map<int, int> m;
m.insert(make_pair(3, 30));
m.insert(make_pair(2, 20));
m.insert(make_pair(5, 50));
m.insert(make_pair(9, 90));
m.insert(make_pair(1, 10));
cout << "Map elements before deletion: " << endl;
for (auto i : m)
{
cout << "( " << i.first << ", " << i.second << " ) ";
}
m.erase(m.begin(), m.find(3));
cout << "\n\nMap elements after deletion: " << endl;
for (auto i : m)
{
cout << "( " << i.first << ", " << i.second << " ) ";
}
cout << "\n\n\n";
return 0;
}
Para ejecutar el código de C++ anterior, necesitamos compilar y ejecutarlo usando los siguientes comandos en la terminal:
g++ ~/project/main.cpp -o ~/project/main && ~/project/./main
Después de compilar y ejecutar con éxito el código anterior, la salida será:
Welcome to LabEx :-)
===== Program to demonstrate the working of erase() method in a Map (Part 2), in CPP =====
Map elements before deletion:
( 1, 10 ) ( 2, 20 ) ( 3, 30 ) ( 5, 50 ) ( 9, 90 )
Map elements after deletion:
( 3, 30 ) ( 5, 50 ) ( 9, 90 )
En este laboratorio, aprendimos sobre el método erase()
en el contenedor Map del C++ STL para eliminar un rango de elementos en un Map en el lenguaje de programación C++. También aprendimos cómo crear un Map y llenarlo con pares de clave-valor usando el método insert()
. Finalmente, vimos cómo eliminar elementos de un Map usando erase()
.