Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
1

Std::unordered_multimap<std::string, int> map

16.07.2018, 03:24. Просмотров 958. Ответов 3
Метки нет (Все метки)


Приветствую. Как можно получить только "уникальный" ключ в контейнере?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::unordered_multimap<std::string, int> map;
map.emplace("test", 1);
map.emplace("test", 2);
map.emplace("test", 3);
map.emplace("test", 4);
map.emplace("test", 5);
 
map.emplace("test1", 1);
map.emplace("test1", 2);
map.emplace("test1", 3);
map.emplace("test1", 4);
map.emplace("test1", 5);
 
map.emplace("test2", 1);
map.emplace("test2", 2);
map.emplace("test2", 3);
map.emplace("test2", 4);
map.emplace("test2", 5);
Нужно, чтобы выводило test, test1, test2. Как оптимально можно реализовать. У меня только идея, через проверку след значение it->first. Надеюсь на помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2018, 03:24
Ответы с готовыми решениями:

Std::unordered_multimap<std::string, std::unordered_multimap<int, int>>
Приветствую. Интересует вопрос, как можно обращаться к контейнеру? Хотелось бы по map, но так не...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же...

Заголовочный файл для std::map<string,int>
Добрый вечер. Назрел такой вопрос. Про написании программы телефонная книга не понимаю, какие...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
3
Любитель чаепитий
3536 / 1647 / 507
Регистрация: 24.08.2014
Сообщений: 5,601
Записей в блоге: 1
16.07.2018, 07:54 2
использовать std::unordered_map?
0
-10 / 2 / 1
Регистрация: 08.01.2015
Сообщений: 325
16.07.2018, 08:29  [ТС] 3
GbaLog-, нет. Нужно решить с std::unordered_multimap
0
321 / 173 / 78
Регистрация: 09.10.2014
Сообщений: 808
16.07.2018, 09:27 4
Лучший ответ Сообщение было отмечено Kenny_Dalglish как решение

Решение

Цитата Сообщение от Kenny_Dalglish Посмотреть сообщение
GbaLog-, нет. Нужно решить с std::unordered_multimap
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <unordered_map>
#include <string>
 
int main()
{
    std::unordered_multimap<std::string, int> map;
    map.emplace("test", 1);
    map.emplace("test", 2);
    map.emplace("test", 3);
    map.emplace("test", 4);
    map.emplace("test", 5);
 
    map.emplace("test1", 1);
    map.emplace("test1", 2);
    map.emplace("test1", 3);
    map.emplace("test1", 4);
    map.emplace("test1", 5);
 
    map.emplace("test2", 1);
    map.emplace("test2", 2);
    map.emplace("test2", 3);
    map.emplace("test2", 4);
    map.emplace("test2", 5);
 
    for( auto it = map.begin(), end = map.end(); it != end; it = map.upper_bound(it->first))
    {
        std::cout << it->first << std::endl;
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2018, 09:27

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Странная ошибка: [Error] no match for call to '(std::string {aka std::basic_string<char>}) (int&)'
У меня появляется проблема при компиляции сей программы: #include &lt;iostream&gt; #include &lt;string&gt;...

Быстродействие std::unordered_map vs. std::unordered_multimap
Привет, скажите пожалуйста, есть какие-либо существенные просадки по скорости исполнения программы,...

Возможно ли создать контейнер std::map, в котором в качестве значения была бы ссылка на std::map?
Здравствуйте. Возможно ли создать контейнер std::map, в котором в качестве значения была бы...

Emplace в std::map. Как добавить элемент в std::map без копирования?
здравствуйте... есть ли способ не писать так: std::map&lt;int, char&gt; ksa;...


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

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

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