Предмет: Информатика,
автор: lazarenko5423221
Виконати сортування числового масиву за
зростанням, скориставшись алгоритмом Хоара. В якості
опорного елемента завжди обирати крайній правий елемент
частини масиву, яка впорядковується. Записати результат
після кожної ітерації.
234, 1, 10, 9, 14, 2, 34, 100, 35, 17, 11, 12, 18, 7, 34
Ответы
Автор ответа:
0
def quicksort(array):
if len(array) <= 1:
return array
pivot = array[-1]
left = []
right = []
for i in range(len(array)-1):
if array[i] < pivot:
left.append(array[i])
else:
right.append(array[i])
return quicksort(left) + [pivot] + quicksort(right)
array = [234, 1, 10, 9, 14, 2, 34, 100, 35, 17, 11, 12, 18, 7, 34]
print(quicksort(array))
Результат після кожної ітерації не записується, так як алгоритм Хоара реалізований рекурсивно, тому процес сортування відбувається на різних рівнях рекурсії, а не у вигляді ітерацій.
Похожие вопросы
Предмет: Математика,
автор: kirillkapaev936
Предмет: Немецкий язык,
автор: taniakr04
Предмет: Українська мова,
автор: ivan09v90
Предмет: Литература,
автор: ChristopherColumbus
Предмет: Алгебра,
автор: katyaivranova