Статья Автор: Лебедев Дмитрий

TUZ_3-17 Сортировка положительных чисел с сохранением порядка отрицательных чисел

TUZ_3-17 Сортировка положительных чисел с сохранением порядка отрицательных чисел

TUZ_3-17 Сортировка положительных чисел с сохранением порядка отрицательных чисел
3.17 Сортировка положительных чисел с сохранением порядка отрицательных чисел
Это задание состоит в том, чтобы, получив массив целых чисел, отсортировать положительные числа
и сохранить порядок отрицательных чисел.
Ваша задача: написать функцию, которая принимает массив положительных и отрицательных целых чисел
и возвращает массив с той же длиной, в котором положительные числа отсортированы,
а порядок отрицательных чисел сохраняется.
В табл. 3.17 показаны ожидаемые результаты для некоторых входных данных.
Таблица 3.17. Некоторые ожидаемые результаты для задачи сортировки положительных чисел с сохранением порядка отрицательных чисел 
Array Ожидаемый результат 
[79, 7, -3, -4, 6, -1] [6, 7, -3, -4, 79, -1]
[451, 419, -1001, 2, 3, -2] [2, 3, -1001, 419, 451, -2]
[-39, -456, 0, -7, -3, -599] [-39, -456,0, -7, -3, -599]
[] []

Внимание!!! В этой задаче 0 отнесен к группе положительных чисел !!!

Алгоритм
Для сортировки положительных чисел во входном массиве в порядке возрастания используется пузырьковая сортировка,
а отрицательные числа остаются на исходных позициях.
Сначала из исходного массива удаляются все отрицательные числа и помещаются в словарь вместе со своими индексами.
Оставшиеся положительные числа сортируются, а затем отрицательные числа вставляются обратно на исходные позиции
с использованием индексов, хранящихся в словаре.
 


Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать