Страницы

Поиск по вопросам

пятница, 2 ноября 2018 г.

Зачем нужен контейнер std::map? В чем он обходит hash map?

Зачем (в с++) существует контейнер map, если есть hash_map, который быстрее? Например, std::map чем лучше std::unordered_map'a?


Ответ

Нет понятия «лучше» или «хуже», есть различные свойства контейнера.
std::map держит данные в отсортированном по ключу виде, в отличие от std::unordered_map. Если вам нужно это свойство, вам нужен std::map. Если нет, достаточно и std::unordered_map
(Как следствие отсортированности, например, в std::map есть функция lower_bound, которой нет в std::unordered_map.)

Комментариев нет:

Отправить комментарий