Мне нужно реализовать способ сделать сортировку выбора более эффективной, работая с обоих концов, используя минимальные и максимальные значения.
У меня это работает, просто используя индекс от минимального значения, но мне все еще нужно найти способ работать в обратном направлении одновременно с макс.
def selectionsort(alist):
for i in range(len(alist)):
min_idx = i
for j in range(i+1, len(alist)):
if alist[min_idx] > alist[j]:
min_idx = j
temp = alist[i]
alist[i] = alist[min_idx]
alist[min_idx] = temp
alist = [54,26,93,17,77,31,44,55,20]
selectionsort(alist)
print(alist)
Функция должна возвращать упорядоченный список: [17, 20, 26, 31, 44, 54, 55, 77, 93]