unordered_multiset функция erase () в C ++ STL

Опубликовано: 30 Декабря, 2021

Функция unordered_multiset :: erase () - это встроенная функция в C ++ STL, которая используется для удаления либо одного элемента, либо всех элементов с определенным значением, либо диапазона элементов от начала (включительно) до конца (исключая ). Это уменьшает размер контейнера на количество удаленных элементов.

Синтаксис :

  1. unordered_multiset_name.erase(iterator position)
  2. unordered_multiset_name.erase(iterator start, iterator end)
  3. unordered_multiset_name.erase(key_value)

Параметры : Эта функция имеет три версии.

  1. Первый принимает итератор в качестве аргумента, стирает элемент, присутствующий в этой позиции.
  2. Вторая версия принимает два итератора (скажем, начало и конец), принимает 2 итератора в качестве аргумента и стирает все элементы в диапазоне [начало, конец).
  3. Третья версия принимает значение ключа в качестве аргумента и стирает все элементы этого значения в мультимножестве.

Возвращаемое значение : 1-я и 2-я версии функции, как показано в приведенном выше синтаксисе, возвращают итератор, следующий сразу за последним удаленным элементом. Третья версия возвращает количество стертых элементов.

Ниже приведены программы, иллюстрирующие функцию unordered_multiset :: erase ():
Программа 1 :

Программа 2 :

// C++ program to illustrate the
// unordered_multiset::erase() function
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset< int > samplemultiSet;
// Inserting elements
samplemultiSet.insert(10);
samplemultiSet.insert(5);
samplemultiSet.insert(15);
samplemultiSet.insert(20);
samplemultiSet.insert(25);
samplemultiSet.insert(10);
samplemultiSet.insert(15);
samplemultiSet.insert(20);
// Erases all elements of value 10
samplemultiSet.erase(10);
// Displaying the set after removal
for ( auto it = samplemultiSet.begin();
it != samplemultiSet.end(); it++)
{
cout << *it << " " ;
}
return 0;
}
Выход:
5 15 15 20 20 25
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .