C++ STL Map Löschmethode

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir die erase()-Methode im C++ STL Map-Container kennenlernen, um eine Reihe von Elementen in einer Map in der Programmiersprache C++ zu löschen.


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{{"C++ STL Map Löschmethode"}} cpp/strings -.-> lab-96230{{"C++ STL Map Löschmethode"}} cpp/output -.-> lab-96230{{"C++ STL Map Löschmethode"}} cpp/standard_containers -.-> lab-96230{{"C++ STL Map Löschmethode"}} cpp/code_formatting -.-> lab-96230{{"C++ STL Map Löschmethode"}} end

Erstellen und Befüllen der Map mit Schlüssel-Wert-Paaren von ganzen Zahlen

Erstellen Sie in das Verzeichnis ~/project eine neue C++-Datei namens main.cpp mit dem Befehl touch ~/project/main.cpp und öffnen Sie sie mit Ihrem bevorzugten Texteditor.

In diesem Schritt werden wir eine Map erstellen und sie mit Schlüssel-Wert-Paaren von ganzen Zahlen mit der insert()-Methode befüllen. Die make_pair()-Funktion wird verwendet, um ein Schlüssel-Wert-Paar in die Map einzufügen. Die Schlüssel werden automatisch in aufsteigender Reihenfolge der Schlüssel sortiert.

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

Entfernen von Map-Elementen mit Schlüsseln kleiner als ein bestimmter Wert

In diesem Schritt werden wir Elemente in der Map mit Schlüsseln kleiner als ein bestimmter Wert mit der erase()-Methode entfernen. In diesem Beispiel entfernen wir alle Elemente mit Schlüsseln kleiner als 3. erase(m.begin(), m.find(3)) entfernt alle Elemente vom Anfang der Map bis zur Position des Iterators, der auf das Element mit dem Schlüssel 3 zeigt.

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

Kompilieren und Ausführen des Codes

Um den obigen C++-Code auszuführen, müssen wir ihn in der Konsole mit den folgenden Befehlen kompilieren und ausführen:

g++ ~/project/main.cpp -o ~/project/main && ~/project/./main

Verstehen der Ausgabe

Nachdem der obige Code erfolgreich kompiliert und ausgeführt wurde, wird die Ausgabe wie folgt sein:

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 )

Zusammenfassung

In diesem Lab haben wir uns mit der erase()-Methode im C++ STL Map-Container beschäftigt, um eine Reihe von Elementen in einer Map in der Programmiersprache C++ zu löschen. Wir haben auch gelernt, wie man eine Map erstellt und sie mit Schlüssel-Wert-Paaren mit der insert()-Methode befüllt. Schließlich haben wir gesehen, wie man Elemente aus einer Map mit erase() löscht.