У меня возникли небольшие трудности с тем, чтобы эта функция быстрой сортировки возвращала фактический список вместо элементов один за другим.Логика сортировки работает нормально, но не возвращает массив.Есть ли способ добавить постоянный список, в который элементы добавляются к каждому циклу?
import random
def quick_sort_2(input_arr):
if len(input_arr) == 1:
print(input_arr[0])
return input_arr[0]
elif len(input_arr) == 0:
return
else:
pivot = input_arr[0]
i = 0
left_arr = []
right_arr = []
while i < len(input_arr):
if input_arr[i] < pivot:
left_arr.append(input_arr[i])
i += 1
elif input_arr[i] > pivot:
right_arr.append(input_arr[i])
i += 1
else:
i += 1
quick_sort_2(left_arr)
print(pivot)
quick_sort_2(right_arr)
quick_sort_2([3, 5, 2, 6, 1, 7, 0])
Вкратце отметим, что я использую здесь печать, но в действительности я хотел бы как-нибудь использовать return.