Método erase del Map STL de C++

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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++.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/operators -.-> lab-96230{{"Método erase del Map STL de C++"}} cpp/strings -.-> lab-96230{{"Método erase del Map STL de C++"}} cpp/output -.-> lab-96230{{"Método erase del Map STL de C++"}} cpp/standard_containers -.-> lab-96230{{"Método erase del Map STL de C++"}} cpp/code_formatting -.-> lab-96230{{"Método erase del Map STL de C++"}} end

Crear y llenar el Map con pares de clave-valor de enteros

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

Eliminar elementos del Map con claves menores que un valor determinado

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

Compilar y ejecutar el código

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

Comprender la salida

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 )

Resumen

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().