7 / 7 / 0
Регистрация: 14.03.2013
Сообщений: 221
1

обратный итератор для unordered_map

04.09.2019, 07:09. Показов 524. Ответов 1
Метки нет (Все метки)

Привет всем.
Подскажите способ каким можно осуществить последовательный доступ к элементам unordered_map в том порядке в котором они были добавлены?
Если использовать итератор то он обходит элементы в обратном порядке добавления.

C++
1
2
3
4
5
6
7
8
9
10
    unordered_map<string, string> my_map;
 
    my_map["cc"] = "ccc";
    my_map["dd"] = "ddd";
    my_map["aa"] = "aaa";
 
    for (auto it = my_map.begin(); it != my_map.end(); it++)
    {
        cout << it->first << ", " << it->second << endl;
    }
Возможно ли использовать какой либо способ? Я как понял обратного итератора для unordered_map не существует..
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.09.2019, 07:09
Ответы с готовыми решениями:

Итератор в unordered_map (concurrency::concurrent_unordered_map)
Всем привет! Не соображу как пройтись циклом через 8 позиций. Есть рабочий код:...

Реализовать двусвязный список (list), итератор (iterator) и константный итератор (сonst_iterator) для списка
не могу понять что должно быть результатом. может подскажете примеры? пожалуйста. Задание:...

Перегрузка Key value для unordered_map
Задача в следующем, мне надо std:: pair использовать как ключевое значение в unordered_map, чтобы...

Контейнер unordered_map<string, unordered_map<string,int>>
Ну можно и не unordered_map&lt;string, unordered_map&lt;string,int&gt;&gt;. Мне нужен контейнер который будет...

1
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
04.09.2019, 08:53 2
Цитата Сообщение от oleggy Посмотреть сообщение
Если использовать итератор то он обходит элементы в обратном порядке добавления.
unordered_map потому и называется unordered, что элементы в нём расположены в случайном порядке. Соответственно обходить их можно тоже только в случайном. У тебя этот порядок случайно совпал с обратным.
Т.е. способа обойти элементы unordered_map (да и просто map) в порядке добавления не существует. Нужно использовать std::list или std::vector.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2019, 08:53

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Каким образом unordered_map выдает правильное значение для ключа, если его хеш функция допускает коллизии?
Читаю книгу джосаттис стандартная библиотека c++, там в разделе про unordered_map есть описание...

Найти правый обратный, левый обратный и обратный оператор
Здравствуйте! Если существует, то найти: правый обратный, левый обратный и обратный оператор....

Особый итератор словаря. Итератор возвращающий нужные комбинации
Немогу разобраться, как написать итератор. У меня есть словарь, ключи это координаты, а значения...

Особый итератор словаря. Медленный итератор
Не могу разобраться, как написать итератор. У меня есть словарь, ключи это координаты, а значения...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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