Здравствуйте, Аноним, Вы писали:
А>Спасибо за ответ, но из ваших примеров я не могу применить ничего к своему, потому что у меня объявлен multimap и в нем уже хранятся данные:
Нужно лишь немножко подумать, а не копировать в лоб.
Что такое мультимап? Это реляционная таблица с неуникальным ключом.
Что значит дополнительная сортировка? Это добавление в таблицу ещё одной колонки с другим неуникальным ключом.
Поэтому если задача выборки в разных порядках встаёт часто — заводим структуру из 3 полей:
— первичный ключ (ключ мультимапа)
— альтернативный ключ
— данные (класс Temp)
В роли альтернативного ключа могут выступать сами данные или их члены.
Для единовременной сортировки — делаем слепок. Замени в моём коде set на multimap, и учти, что элемент мультимапа — это std::pair<const key_type,value_type>. То есть для доступа к значениям, нужно делать не (*it), а (it->second).