| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > сортировать двумерный вектор |
| Автор: Rockie 20.8.2006, 04:39 | ||
Можно или нельзя как-то вызвать sort чтобы отсортировать двумерный вектор? Вот пример: компилируется, то ничего не сортирует.
|
| Автор: nikitao 20.8.2006, 06:23 |
| Что значит отсортеровать двумерный массив????Ведь двумерный массив - это всеволиш массив массивов. Можно отсоритеровать каждый из массивовов двумерного массива по отдеьности |
| Автор: Oleg_Ci 20.8.2006, 10:18 | ||
Может так надо.
|
| Автор: Rockie 21.8.2006, 00:26 | ||||||
Это построчная сортировка, а мне нужно весь массив. К примеру у меня массив
а нужно от меньшего к большему (от левого верхнего угла к правому нижнему)
так вот можно ли это сделать с помощью встроенных функций сортировки. Ведь массивы распределяются впамяти линейно? вот сделал эту сортировку массива массивов:
но оно мне как-то кажется коряво.. может все же можно с помощью встроенняых алгоритмов? либо как-то покороче? |
| Автор: MAKCim 21.8.2006, 10:37 |
| сделай адаптор к одномерному вектору для представления матрицы и сортируй обычным образом, либо просто используй просто вектор для представления матрицы |
| Автор: Oleg_Ci 21.8.2006, 15:36 | ||
Проверил, вроде массивы не распределяются впамяти линейно. Хотя я сам в векторах ещё несилен, могу ошибаться.
|
| Автор: Rockie 21.8.2006, 18:01 | ||
Олег4, BCB 6, не компилится
MAKCim то есть я смогу применить алгоритм sort к этому массиву массивов? а можно пример, или где почитать. |
| Автор: Fixin 21.8.2006, 18:06 | ||||
А что читать-то?
|
| Автор: MAKCim 21.8.2006, 18:56 | ||||||
Это не массив массивов а просто массив то есть если есть матрица MxN, то вектор, представляющий эту матрицу будет размера M*N причем элемент [i][j] матрицы соответствует элементу [i*N+j] вектора
|
| Автор: Rockie 22.8.2006, 10:15 | ||
| Fixin, ну про саму реализацию адаптора матрица -> вектор. Теперь разобрался. MAKCim, спасибо, то что надо! Обратное преобразование сделал так:
Возможно, есть какой-то лучший вариант.. |
| Автор: MAKCim 22.8.2006, 10:45 | ||
по ассимптотике у этого в общем случае O( MN*(2+log(MN)) ) в твоем первонячальном O( M^2N^2 ) |
| Автор: Adjusly 24.1.2023, 02:53 |
Модератор: Сообщение скрыто. |