Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > подскажите алгоритм сортировки матрицы улиткой |
Автор: 4YBAK 24.4.2013, 12:29 | ||
Привет! Нужно отсортировать по возрастанию матрицу 4*4 как на картинке. аглоритм желательно универсальный, чтоб можно было потом его переделать под любую размерность матрицы. Я думаю, нужно сначала сформировать массив из этой матрицы, затем сортирнуть его функцией ниже, затем заслать обратно в матрицу. Вот как сформировать массив из этой матрицы я и не понимаю. Подскажите плиз
|
Автор: avvo 24.4.2013, 14:13 | ||
Например так
|
Автор: 4YBAK 24.4.2013, 16:01 | ||||
не понял... вы сначала просто загнали каждую строку матрицы одну за другой массив. А дальше-то что? Нужно ведь не строки целиком загонять, а загнать так, чтобы было как на картинке прикрепленной. В форме улитки... Или я че-то не понимаю? |
Автор: avvo 24.4.2013, 20:09 |
![]() а какая разница, в каком порядке их "загонять" если их потом сортировать? Более того, если Array.Sort будет сортировать quicksort-ом то элементы массива перед сортировкой будут перемешаны, чтобы ускорить сортировку (но там вроде сортировка инсертом или мерджем, в зависимости от размера массива). Поэтому неважно, в каком порядке элементы в массиве перед сортировкой. Нужно их после сортировки сложить в квадратную матрицу змейкой. И все. |
Автор: avvo 24.4.2013, 20:59 | ||||||
с ремарками |
Автор: 4YBAK 25.4.2013, 09:57 |
Большое спасибо! |