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

Метод insert

Метод insert добавляет элементы в unordered_set. Если элемент уже присутствует в контейнере, повторного добавления не происходит, так как unordered_set хранит только уникальные значения. Метод возвращает пару, первый элемент которой является итератором на добавленный или уже существующий элемент, а второй - значением типа bool, которое равно true, если вставка произошла, и false, если такой элемент уже был в контейнере.

В первый параметр мы передаем значение, которое хотим добавить в контейнер. Существует также перегрузка, принимающая итераторы начала и конца диапазона, элементы которого нужно добавить.

Синтаксис

uset.insert(value) uset.insert(first, last)

Пример

Давайте добавим число 3 в unordered_set и проверим результат вставки:

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> uset = {1, 2, 4, 5}; auto res = uset.insert(3); cout << *res.first << endl; cout << res.second << endl; return 0; }

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

3 1

Пример

Давайте попробуем добавить в unordered_set элемент, который уже в нем есть, и посмотрим на результат:

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> uset = {1, 2, 3, 4, 5}; auto res = uset.insert(3); cout << *res.first << endl; cout << res.second << endl; return 0; }

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

3 0

Как видно из результата, повторной вставки не произошло, а второй элемент пары равен 0.

Пример

Давайте выведем все элементы unordered_set после добавления нового значения:

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> uset = {1, 2, 4, 5}; uset.insert(3); for (int el : uset) { cout << el << " "; } return 0; }

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

5 4 3 2 1

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

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