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.
Erstelle und fülle die 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));
}
Lösche Map-Elemente mit Schlüsseln kleiner als einen bestimmten 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;
}
Kompiliere und führe den Code aus
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
Verstehe die 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.



