Введение в хеш-таблицы в C++
Пары «ключ - значение» в хеш-таблице, а не в дереве по ключу, хранит std::unordered_map.
Среднее время поиска по ключу не растет вместе
с числом элементов: контейнер опирается на
хеш ключа и корзины памяти. Порядок обхода
не совпадает с сортировкой ключей и может
меняться при изменениях. Подключите
#include <unordered_map>; для множества
уникальных ключей без значений есть
#include <unordered_set>.
Запишем словарь строк и целых, найдем значение по ключу через квадратные скобки и выведем его:
#include <unordered_map>
std::unordered_map<std::string, int> ports = {{"http", 80}, {"https", 443}};
std::cout << ports["https"] << "\n";
На экран попадает 443 - число, связанное
с ключом "https", без перебора
отсортированного списка.