РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
284 of 815 menu

Метод erase

Метод erase класса unordered_map удаляет элементы из ассоциативного контейнера. Существует три перегрузки метода. Первая принимает ключ и удаляет элемент с этим ключом, возвращая количество удалённых элементов. Вторая принимает итератор и удаляет элемент, на который он указывает, возвращая итератор на следующий элемент. Третья принимает два итератора и удаляет диапазон элементов [first, last), возвращая итератор на элемент, следующий за последним удалённым.

Синтаксис

umap.erase(key); umap.erase(iterator); umap.erase(first, last);

Пример

Давайте удалим элемент с ключом "b" и выведем размер контейнера до и после удаления:

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> umap = { {"a", 1}, {"b", 2}, {"c", 3} }; cout << "Size before: " << umap.size() << endl; size_t res = umap.erase("b"); cout << "Erased: " << res << endl; cout << "Size after: " << umap.size() << endl; return 0; }

Результат выполнения кода:

"Size before: 3" "Erased: 1" "Size after: 2"

Пример

Давайте удалим элемент по итератору, найденному с помощью метода find:

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> umap = { {"a", 1}, {"b", 2}, {"c", 3} }; auto it = umap.find("b"); if (it != umap.end()) { umap.erase(it); } for (const auto& pair : umap) { cout << pair.first << ":" << pair.second << " "; } return 0; }

Результат выполнения кода:

"a:1 c:3 "

Пример

Давайте удалим диапазон элементов от начала до элемента с ключом "c":

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> umap = { {"a", 1}, {"b", 2}, {"c", 3}, {"d", 4} }; auto it = umap.find("c"); umap.erase(umap.begin(), it); for (const auto& pair : umap) { cout << pair.first << ":" << pair.second << " "; } return 0; }

Результат выполнения кода:

"c:3 d:4 "

Смотрите также

  • класс unordered_map,
    который представляет хеш-таблицу
  • метод insert,
    который вставляет элементы в контейнер
  • метод find,
    который ищет элемент по ключу
  • метод count,
    который возвращает количество элементов с заданным ключом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить