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