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

Метод erase

Метод erase удаляет элементы из контейнера unordered_set. Он имеет несколько перегрузок. В первом варианте мы передаем ключ элемента, который нужно удалить. Во втором варианте мы передаем итератор, указывающий на удаляемый элемент. В третьем варианте мы передаем два итератора, задающих диапазон [first, last) для удаления. Метод возвращает количество удаленных элементов (для версии с ключом) или итератор, следующий за последним удаленным элементом (для версии с итератором).

Синтаксис

// Удаление по ключу size_type erase(const Key& key); // Удаление по итератору iterator erase(iterator pos); // Удаление диапазона iterator erase(iterator first, iterator last);

Пример

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

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> uset = {1, 2, 3, 4, 5}; size_t count = uset.erase(3); cout << "Erased: " << count << endl; for (int elem : uset) { cout << elem << " "; } cout << endl; return 0; }

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

"Erased: 1" 1 2 4 5

Пример

Давайте удалим элемент, используя итератор, указывающий на него:

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> uset = {1, 2, 3, 4, 5}; auto it = uset.find(2); if (it != uset.end()) { uset.erase(it); } for (int elem : uset) { cout << elem << " "; } cout << endl; return 0; }

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

1 3 4 5

Пример

Давайте удалим диапазон элементов, начиная с элемента 2 и заканчивая элементом 4:

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> uset = {1, 2, 3, 4, 5}; auto first = uset.find(2); auto last = uset.find(4); if (first != uset.end() && last != uset.end()) { uset.erase(first, last); } for (int elem : uset) { cout << elem << " "; } cout << endl; return 0; }

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

1 4 5

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

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