Показать сообщение отдельно
  #14  
Старый 28.09.2012, 00:23
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от lmikle
Ну, в принципе, можно и так изгаляться.
Но есть вариант попроще.
1. Создаем 2 служебных списка.
2. В один список кладем все положительные числа.
3. Во второй - все отрицательные.
4. Сортируем списки, если надо.
5. Делаем проверку, что нужную последовательность вообще можно составить (число элементов в обоих списках должно быть одинаковым)
6. Составляем новый список, поочередно беря элементы из служебных.
Такой вариант не сработает. Дело в том, что из условия задачи не следует, что в первоначальном списке количество отрицательных и положительных элементов непременно должно совпадать, даже более того, первоначальный список может состоять из одних только положительных, либо одних только отрицательных чисел, а смысл алгоритма состоит в том, чтобы привести этот список к "нормализованному" виду, в котором положительные и отрицательные числа чередуются.
Ответить с цитированием