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

TUZ_3-18 Сортировка: сначала числа, потом символы

TUZ_3-18 Сортировка: сначала числа, потом символы

TUZ_3-18 Сортировка: сначала числа, потом символы
3.18 Сортировка: сначала числа, потом символы
В этом задании дается список списков. Структура исходного списка должна сохраняться, но содержимое вложенных списков
должно быть отсортировано так, чтобы первыми следовали числа, а затем символы.
И числа, и символы должны сортироваться в порядке возрастания.
Ваша задача: написать функцию, которая принимает список списков, состоящих из чисел и символов,
и возвращает список с той же структурой, но сортирует содержимое вложенных списков так,
что сначала следуют числа, а затем символы – и те, и другие в порядке возрастания.
В табл. 3.18 показаны ожидаемые результаты для некоторых входных данных.
Таблица 3.18. Некоторые ожидаемые результаты для задачи сортировки чисел и символов 
NestedList Ожидаемый результат 
[[0, 0, 0.5, 1], [3], [5, 5, 'X', 'Y'],
['Z', 'a'], ['b', 'er', 'f'], ['p', 's']]
[[0, 0, 0.5, 1], [3], [5, 5, 'X', 'Y'], ['Z', 'a'], ['b', 'er', 'f'], ['p', 's']]
[[2, 74, 3, 0, 0.5], [4, 7, 'a', 'b', 'e', 99]] [[0, 0.5, 2, 3, 74], [4, 7, 99, 'a', 'b', 'e']]  
[[419, '0',419, 't', 'r', 'pol'], ['x', 'y',88, 'r']] [[419, 419, '0', 'pol', 'r', 't'], [88, 'r', 'x', 'y']]
[[2, 3, 'u'], ['w', 100, 4, 5], ['r', 'd', 't', 1]] [[2, 3, 'u'], [4, 5, 100, 'w'], [1, 'd', 'r', 't']]

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


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