Я пытаюсь научить себя нескольким алгоритмам сортировки в python, и у меня возникают небольшие проблемы с выводом. Я пытаюсь реализовать алгоритм сортировки подсчета, и я зашел так далеко:
def counting_sort(l):
nums = l
highest = max(nums) + 1
helper_list = [0] * highest
s_list = []
for i in range(len(nums)):
value = nums[i]
helper_list[value] += 1
for j in range(len(helper_list)):
s_list.append([j] * helper_list[j])
return s_list
Все идет почти нормально, но когда я ввожу ввод, например [5, 2, 2, 3, 1, 2]
.
Я получаю вывод вроде: [[], [1], [2, 2, 2], [3], [5]]
.