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

Класс unordered_map

Класс unordered_map - это ассоциативный контейнер, который хранит элементы в виде пар "ключ-значение". В отличие от обычного map, элементы здесь не упорядочены по ключу, а хранятся в хеш-таблице. Это обеспечивает очень быстрый доступ к элементам по ключу - в среднем за константное время O(1). При создании объекта можно указать тип ключа и тип значения. Например, unordered_map<string, int> создаст словарь, где ключами будут строки, а значениями - целые числа.

Синтаксис

#include <unordered_map> unordered_map<KeyType, ValueType> name;

Пример

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

#include <iostream> #include <unordered_map> #include <string> using namespace std; int main() { unordered_map<string, int> umap; umap["one"] = 1; umap["two"] = 2; umap["three"] = 3; for (auto& pair : umap) { cout << pair.first << " : " << pair.second << endl; } return 0; }

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

"three : 3" "two : 2" "one : 1"

Пример

Давайте получим значение по ключу с помощью метода at и проверим наличие ключа с помощью метода count:

#include <iostream> #include <unordered_map> #include <string> using namespace std; int main() { unordered_map<string, int> umap = { {"one", 1}, {"two", 2} }; cout << umap.at("one") << endl; cout << umap.count("two") << endl; cout << umap.count("three") << endl; return 0; }

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

1 1 0

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

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