Introduction
Dans ce laboratoire, nous allons apprendre à utiliser la méthode erase() du conteneur Map du C++ STL pour supprimer une plage d'éléments dans une Map en langage de programmation C++.
Créer et remplir la carte avec des paires clé-valeur d'entiers
Créez un nouveau fichier C++ dans le répertoire ~/projet nommé main.cpp en utilisant la commande touch ~/projet/main.cpp et ouvrez-le avec votre éditeur de texte préféré.
Dans cette étape, nous allons créer une map et la remplir avec des paires clé-valeur d'entiers en utilisant la méthode insert(). La fonction make_pair() est utilisée pour insérer une paire clé-valeur dans la map. Les clés sont automatiquement triées dans l'ordre croissant des clés.
#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));
}
Supprimer les éléments de la carte dont les clés sont inférieures à une certaine valeur
Dans cette étape, nous allons supprimer des éléments de la map dont les clés sont inférieures à une certaine valeur en utilisant la méthode erase(). Dans cet exemple, nous supprimons tous les éléments dont les clés sont inférieures à 3. erase(m.begin(), m.find(3)) supprime tous les éléments depuis le début de la map jusqu'à la position de l'itérateur pointant vers l'élément avec la clé 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;
}
Compiler et exécuter le code
Pour exécuter le code C++ ci-dessus, nous devons le compiler et l'exécuter en utilisant les commandes suivantes dans le terminal :
g++ ~/projet/main.cpp -o ~/projet/main && ~/projet/./main
Comprendre la sortie
Après avoir compilé et exécuté avec succès le code ci-dessus, la sortie sera la suivante :
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 )
Résumé
Dans ce laboratoire, nous avons appris sur la méthode erase() dans le conteneur Map du C++ STL pour supprimer une plage d'éléments dans une Map en langage de programmation C++. Nous avons également appris comment créer une Map et la remplir avec des paires clé-valeur en utilisant la méthode insert(). Enfin, nous avons vu comment supprimer des éléments d'une Map en utilisant erase().



