Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
547ytf
0 / 0 / 0
Регистрация: 10.03.2014
Сообщений: 9
#1

Stdext::hash_map и std::map - C++

10.03.2014, 23:49. Просмотров 653. Ответов 1
Метки нет (Все метки)

Здравствуйте форумчане! Может ли кто нибудь объяснить мне отличие stdext::hash_map от std::map? В интернете не так много информации о нем, а на cplusplus.com её нету.
Единственное что я понял - stdext::hash_map использует какую то функцию, которая влияет на хранение данных)
В принципе ничего особенного не прошу) Мне хватит куска кода, который наглядно показывает работу stdext::hash_map. Единственная просьба - не слишком замудренную hash функцию Спасибо!

PS Использовать мне её обязательно согласно заданию из универа. К сожалению, преподаватель считает, что столь не популярную функцию студент должен понять и изучить сам.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 23:49     Stdext::hash_map и std::map
Посмотрите здесь:

Чем отличается map и hash_map в плюсах? - C++
Чем отличается map и hash_map в плюсах? с hash_map еще не работал, хочу разобраться есть ли семантические отличия и в чем заключаются.

std::map не компилируется - C++
Всем здравствуйте. Возникла проблема при попытке использования std::map в visual studio 2010. при подключении файла <map> и объявлении...

Особенности std::map - C++
Добрый день форумчане, хотел спросить такую вещь, сейчас занимаюсь оптимизацией в графическом движке и возникла такая проблемма, хочу...

Размерность std::map - C++
Добрый вечер. Использую тип данных 16 байтовый. Надо записать несколько десятков миллионов расчетов в map <type, type> val; C...

Std::map и key_comp - C++
Есть задача, нужно задать в map класс для сравнения ключей, но классу для сравнения нужен ещё один вспомогательный елемент. Ну вот...

Std::map::emplace - C++
То ли я туплю/криво поставил компилятор, то ли это emplace синтаксис кривой, но... Как использовать emplace применительно к map со...

Сортировка std::map по значению - C++
имеется вот такой вот тип: typedef struct { char domain; set<uint32_t> unique_ip; set<uint32_t> unique_id; } REF_LOG; ...

std::map нефикс. размер? - C++
Нубо-вопрос, std::map и std::array имеют фиксированный размер, как и обычные массивы?

Память, используемая std::map - C++
Когда вызывается new, выделение памяти происходит в куче Когда создается экземпляр класса без new или переменная в функции - это память...

Зачем нужен std::map - C++
Почитал информацию об этом классе, но так и не понял, зачем он нужен?

Чем плох std::map? - C++
std::map ?

std::map и перегрузка оператора - C++
решил освоить стандартные контейнеры и очередь за "map" нахожу на http://en.cppreference.com/w/cpp/container/map замороченный код,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
11.03.2014, 00:16     Stdext::hash_map и std::map #2
547ytf, эта штука вообще-то нестандартная.
Отличие в интерфейсе от std::map минимальное.
В реализации std::map обычно используется красно-черное дерево.
std::map - это упорядоченная коллекция.

hash_map реализуется через хэш-таблицу.
hash_map требует наличия хорошей hash функции для ключа.
hash_map - это неупорядоченная коллекция.

На сегодняшний день стандартная реализация hash_map называется std::unordered_map, если доступен компилятор С++11, то использовать таки лучше ее (условие задания ты не нарушишь, т.к. и то и другие хэш-коллекция).

Примерчик для hash_map есть в msdn.
Для std::unordered_map примерчики есть повсюду.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru