![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 17.11.2009
Сообщений: 108
|
![]()
Привет всем.
Мне необходимо отсортировать контейнер multimap по убыванию, в контейнере находятся объекты моего класса, в котором 2 поля.Сортировать нужно по 1-вому полю типа string. При создании контейнера элементы благополучно сортируются по возрастанию( в классе перегружен оператор <). Но вот что написано в методичке: "некоторые алгоритмы могут не поддерживать используемые в вашей программе контейнеры. Например, алгоритм sort не поддерживает контейнеры, которые не имеют итераторов произвольного доступа. В этом случае следует написать свой алгоритм. Например, для стека алгоритм сортировки может выполняться следующим образом: переписать стек в вектор, отсортировать вектор, переписать вектор в стек. При перемещении элементов ассоциативного контейнера в неассоциативный перемещаются только данные (ключи не перемещаются). И, наоборот, при перемещении элементов неассоциативного контейнера в ассоциативный должен быть сформирован ключ. Вопрос в том, как сформировать этот ключ? Вот мои наработки: Сама функция сортировки. Вектор сортируется как надо, но при вставке в мультисет все записывается наоборот! Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
![]()
Как такой вариант прокатит? ..
![]() Код:
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 17.11.2009
Сообщений: 108
|
![]() Цитата:
З.Ы. Исходный контейнер до передачи в функцию my_sort отсортирован по возрастанию. |
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
![]() Цитата:
Код:
![]() PS а в задании вообще multimap ![]() |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
![]()
Какая разница в каком порядке ложить в set, оно всё равно как и было останется, нужно при создании объекта класса set задавать критерий сортировки
|
![]() |
![]() |
![]() |
#6 | |
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
![]() Цитата:
![]()
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка Шелла и Шейкер-сортировка | AleksandrMakarov | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 11.03.2012 12:18 |
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца | немозг | Помощь студентам | 11 | 06.02.2010 21:57 |
Сортировка методом линейного выбора и "быстрая" сортировка | Карол | Помощь студентам | 4 | 27.09.2009 19:52 |
Сортировка файлов в Explorer vs сортировка в Delphi | mutabor | Общие вопросы Delphi | 11 | 04.09.2009 14:32 |