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

Класс unordered_set

Класс unordered_set - это ассоциативный контейнер, который хранит набор уникальных элементов в неупорядоченном виде. В отличие от set, элементы здесь не сортируются, а располагаются в зависимости от их хеш-значений, что обеспечивает очень высокую скорость поиска, вставки и удаления (в среднем за константное время). Если вы попытаетесь добавить элемент, который уже есть в контейнере, он не будет добавлен повторно. Для использования класса необходимо подключить заголовочный файл <unordered_set>.

Синтаксис

#include <unordered_set> unordered_set<тип_данных> имя_контейнера;

Пример

Давайте создадим unordered_set для хранения целых чисел и добавим в него несколько элементов, включая дубликат:

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<int> mySet; mySet.insert(1); mySet.insert(2); mySet.insert(3); mySet.insert(2); // duplicate, will not be added for (int elem : mySet) { cout << elem << " "; } cout << endl; return 0; }

Результат выполнения кода (порядок может отличаться):

3 2 1

Пример

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

#include <iostream> #include <unordered_set> using namespace std; int main() { unordered_set<string> mySet = {"abcde", "12345"}; if (mySet.find("abcde") != mySet.end()) { cout << "Element found" << endl; } else { cout << "Element not found" << endl; } if (mySet.find("qwerty") != mySet.end()) { cout << "Element found" << endl; } else { cout << "Element not found" << endl; } return 0; }

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

"Element found" "Element not found"

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

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