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

Сортировка std::map по значению - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа считалка на с++ http://www.cyberforum.ru/cpp-beginners/thread583858.html
Задача. В круге стоят N человек. Они пронумерованы от 1 до N. Поочередно из круга начинает выходить каждый третий человек. Это продолжается до тех пор, пока в круге не останется последний человек. Определить его номер. Составьте пожалуйста код на с++ дев
C++ Подсчитать среднее арифметическое ненулевых элементов матрицы, расположенных над побочной диагональю Дан массив размером n x n (если не оговорено иначе),элементы которого целые числа. Подсчитать среднее арифметическое ненулевых элементов,расположенных над побочной диагональю. Девушка это уже четвертая тема от Вас с названием "С++". Я уже устал переименовывать. Учтите модераторы могут быть и злыми :) http://www.cyberforum.ru/cpp-beginners/thread583857.html
C++ Операторы ввода строк
Здравствуйте.Не подскажите оператор, который считывает строку целиком, а не до пробела? :wall:
Заменить все минимальные элементы на противоположные. C++
Дана последовательность из n действительных чисел. (задачу решить,используя одномерный массив) Заменить все минимальные элементы на противоположные.
C++ Заменить все отрицательные элементы ,не кратные 3,противоположными им числами. http://www.cyberforum.ru/cpp-beginners/thread583853.html
Дана последовательность целых чисел. (решить двумя способами ,используя одномерный массив,а затем двумерный) Заменить все отрицательные элементы ,не кратные 3,противоположными им числами.
C++ Составить программу, которая в заданном тексте заменяет все буквы Составить программу, которая в заданном тексте заменяет все буквы «а» на «о», а буквы «о» на «а». подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
23.05.2012, 13:30     Сортировка std::map по значению
Цитата Сообщение от stark91 Посмотреть сообщение
а при помощи map::swap() можно такое реализовать?
А причем тут swap?

Цитата Сообщение от stark91 Посмотреть сообщение
А можно пожалуйста по подробнее про все это?
Пример с созданием и последующей сортировкой массива
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
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
#include <utility>
 
bool pred(const std::pair< int, int > &a, const std::pair< int, int > &b)
{
    return a.second < b.second;
}
 
int main()
{
    std::map< int, int > map;
    map[1] = 100500;
    map[2] = 404;
    map[3] = 666;
    
    //создаем вектор из map'a
    std::vector< std::pair< int, int > > vec(map.begin(), map.end() );
    //сортируем этот вектор по значению
    std::sort(vec.begin(), vec.end(), pred);
    //вывод 
    for (auto p : vec) //цикл в стиле c++11
        std::cout << p.first << ' ' << p.second << std::endl;
}
Что касается двунаправленных мапов - долго объяснять, да и зачем, если есть документация.
 
Текущее время: 18:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru