Введение
В этом практическом занятии мы узнаем о методе erase() в контейнере map C++ STL для удаления диапазона элементов в map на языке программирования C++.
Создайте и заполните карту парами ключ-значение целых чисел
Создайте новый файл на C++ в директории ~/project с именем main.cpp с помощью команды touch ~/project/main.cpp и откройте его с помощью предпочитаемого текстового редактора.
В этом шаге мы создадим map и заполним его парами ключ-значение целых чисел с использованием метода insert(). Функция make_pair() используется для вставки пары ключ-значение в map. Ключи автоматически сортируются в порядке возрастания ключей.
#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));
}
Удалите элементы карты с ключами, меньшими определенного значения
В этом шаге мы удалим элементы в map с ключами, меньшими определенного значения, с использованием метода erase(). В этом примере мы удаляем все элементы с ключами, меньшими 3. erase(m.begin(), m.find(3)) удаляет все элементы с начала map до позиции итератора, указывающего на элемент с ключом 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;
}
Компилируйте и запустите код
Для запуска вышеприведенного кода на C++ необходимо скомпилировать и выполнить его с использованием следующих команд в терминале:
g++ ~/project/main.cpp -o ~/project/main && ~/project/./main
Понять вывод
После успешной компиляции и выполнения вышеприведенного кода вывод будет таким:
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 )
Резюме
В этом практическом занятии мы изучили метод erase() в контейнере Map C++ STL для удаления диапазона элементов в Map на языке программирования C++. Мы также узнали, как создавать Map и заполнять его парами ключ-значение с использованием метода insert(). Наконец, мы увидели, как удалять элементы из Map с использованием erase().



