|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сортировка в одномерных массивах
Помогите, пожалуйста.
Преобразовать одномерный массив, состоящий из n вещественных элементов таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом все остальные. |
#2
|
||||
|
||||
Код:
TArrat.Sort(...) — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
стандартная сортировка без учета знака. Т.е. я не вижу смысла в попытках писать оптимизированный алгоритм для такого случая. Просто сравнивать надо по модулю:
Код:
var A : Array Of Double; procedure SortArrayAbs; var I,J : Integer; B : Double; begin For I := Low(A) To High(A)-1 Do For J := I+1 To High(A) Do If Abs(A[i]) > Abs(A[J]) Then Begin B := A[i]; A[i] := A[J]; A[J] := B; End; end; |
#4
|
||||
|
||||
Цитата:
Интересно, кто придумал деструктивные сортировки? Типа студентов учат (меня в т.ч. тоже так учили) именно на классической деструктивной сортировке. В книге по хаскелю было сразу оговорено: «НЕ НАДО ТАК!» — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 02.12.2016 в 08:43. |
#5
|
|||
|
|||
Да потому что самый простой для понимания и реализации алгоритм.
Понятно, что вызвать заранее написанный QuickSort с передачей компаратора правильнее, но попробуй это преподу объяснить. В лучшем случае заставит самому реализовывать QuickSort... |
#6
|
||||
|
||||
Не. Деструктивная — в смысле что изменяет входной массив, а не возвращает новый, отсортированный
Ну это так, философский вопрос. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
|||
|
|||
А, в этом смысле...
Ну, опять же, для препода это проще, они к такому привыкли. с другой стороны - это в учебной задаче данных мало... а если данных много? Память не резиновая, а своп сильно замедляет работу... |