#python-3.x #algorithm #sorting #quicksort
Вопрос:
def quick_sort(sequence):
length = len(sequence)
if length <= 1:
return
else:
pivot = sequence.pop()
items_g = []
items_l = []
for item in sequence:
if item > pivot:
items_g.append(item)
else:
items_l.append(item)
return quick_sort(items_l) [pivot] quick_sort(items_g)
print(quick_sort([5, 89, 7, 41, 2]))
Комментарии:
1. если длина
2. (Такие виды обмена разделами, не на месте, как этот, будут иметь неблагоприятный дефицит ресурсов.
else:
Следующий базовый случай неуместен.)
Ответ №1:
Вы должны вернуть пустой список, а не ни одного
def quick_sort(sequence):
length = len(sequence)
if length <= 1:
return []
else:
pivot = sequence.pop()
items_g = []
items_l = []
for item in sequence:
if item > pivot:
items_g.append(item)
else:
items_l.append(item)
return quick_sort(items_l) [pivot] quick_sort(items_g)
print(quick_sort([5, 89, 7, 41, 2]))