![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
Добрый день! Возник такой вопрос: возможно ли отсортировать значения для каждого ключа в отдельности, то есть чтобы правые части были отсортированы. И возможно ли это сделать алгоритмом sort()?
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
foreach для ключей, и sort для значений?
|
|||
|
||||
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
GoldFinch, насколько я понял, в multimap все ключи отсортированы в порядке возрастания всегда, как ни крути. Хотелось бы отсортировать значения при каждом из ключей. К примеру:
a-3,2,1 b-3,4 c-5,4,7 после сортировки: a-1,2,3 b-3,4 c-4,5,7 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Hohhi, тогда логично использовать не multimap, а "двойной" map, т.е. для каждого ключа хранить отсортированный набор значений - map или set
-------------------- ... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
map<key_t, vector<value_t> > ?
|
|||
|
||||
| Hohhi |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 25.2.2006 Где: Молдова Репутация: нет Всего: нет |
Earnest, да, абсолютно согласен, но таково задание.
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Тогда двойная сортировка: делай ключ = старый ключ, значение и переходи к set по этому ключу. Т.е. можно, конечно, и руками добиться нужной сортировки, просто в map, но для этого придется вставку переписывать. А, спрашивается, нафига. Смысл использования STL именно в том, чтобы она все делала, а не программист.
-------------------- ... |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Открою старшную тайну - слово multi в multimap относится не к количеству ключей, а к количеству возможных записей с одним и тем же ключем.
NB. Тебе нужен не multimap<a,b> a set<pair<a,b> > Это сообщение отредактировал(а) xvr - 26.4.2010, 12:50 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |