Информатика, вопрос задал lazarenko5423221 , 1 год назад

Виконати сортування числового масиву за
зростанням, скориставшись алгоритмом Хоара. В якості
опорного елемента завжди обирати крайній правий елемент
частини масиву, яка впорядковується. Записати результат
після кожної ітерації.
234, 1, 10, 9, 14, 2, 34, 100, 35, 17, 11, 12, 18, 7, 34

Ответы на вопрос

Ответил leprekon882
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))

Результат після кожної ітерації не записується, так як алгоритм Хоара реалізований рекурсивно, тому процес сортування відбувається на різних рівнях рекурсії, а не у вигляді ітерацій.

Новые вопросы