unordered_map стирание в C ++ STL
Опубликовано: 3 Декабря, 2021
Функция erase используется для удаления элементов из unordered_map. Unordered_map поддерживает три типа функций стирания:
- стирание с помощью итератора : он принимает итератор в качестве параметра и стирает ключ и значение, присутствующие в этом итераторе.
Синтаксисunordered_map.erase (константный итератор);
- стирание по ключу : принимает ключ в качестве параметра и стирает ключ и значение.
Синтаксисunordered_map.erase (константный ключ);
- стереть по диапазону : он принимает два итератора в качестве параметра и стирает все ключи и значения между ними (включая начальный итератор и исключая конечный итератор).
Синтаксис:unordered_map.erase (const iteratorStart, const iteratorEnd);
// CPP program to demonstrate implementation of // erase function in unordered_map. #include <bits/stdc++.h> using namespace std; int main() { unordered_map< int , bool > um; // Adding some elements in the map. um[12] = true ; um[4189] = false ; um[519] = true ; um[40] = false ; um[4991] = true ; cout << "Contents of the unordered_map :
" ; for ( auto p : um) cout << p.first << "==>" << p.second << "
" ; cout << "
" ; // erase by iterator cout << "After erasing by Iterator :
" ; um.erase(um.begin()); for ( auto p : um) cout << p.first << "==>" << p.second << "
" ; cout << "
" ; // erase by value cout << "After erasing by Key :
" ; um.erase(4189); for ( auto p : um) cout << p.first << "==>" << p.second << "
" ; cout << "
" ; // erase by range cout << "After erasing by Range :
" ; auto it = um.begin(); it++; // Returns iterator pointing to second element um.erase(it, um.end()); for ( auto p : um) cout << p.first << "==>" << p.second << "
" ; cout << "
" ; return 0; } |
Выход:
Содержимое unordered_map: 4991 ==> 1 519 ==> 1 40 ==> 0 12 ==> 1 4189 ==> 0 После стирания Iterator: 519 ==> 1 40 ==> 0 12 ==> 1 4189 ==> 0 После стирания ключом: 519 ==> 1 40 ==> 0 12 ==> 1 После стирания по диапазону: 519 ==> 1
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .