08.04.2011, 00:31. Просмотров 5219. Ответов 14
Есть заполненный контейнер unordered_map (ну или просто map)
Нужно отсортировать его по значению или сделать сортированный по значению вывод (в случае с map возможен только сортированный вывод, т.к. он сам сортируется по ключу)
Вот накатал код заполения и вывода:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| int main()
{
std::unordered_map<int, int> Employees;
Employees[5234] = 1;
Employees[3374] = 2;
Employees[1923] = 3;
Employees[7582] = 5;
Employees[5328] = 6;
std::cout << "Employees[3374]=" << Employees[3374] << std::endl << std::endl;
std::cout << "Map size: " << Employees.size() << std::endl;
for( std::unordered_map<int,int>::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii)
{
std::cout << (*ii).first << ": " << (*ii).second << std::endl;
}
return 0;
} |
|
Выводит:
Map size: 5
7582: 5
5328: 6
3374: 2
1923: 3
5234: 1
Нужно получить такой результат:
Map size: 5
5328: 6
7582: 5
1923: 3
3374: 2
5234: 1
Т.е. отсортированный по убыванию.
Подскажите как это сделать
Спасибо.