Сортировка выбором

Заполните список случайными числами и выведите его на экран. Выполните сортировку списка по возрастанию, используя метод сортировки выбором. Выведите на экран отсортированный список.

from random import randint

N = 7
a = []
for i in range(N):
    a.append(randint(1, 20))
print(a)

# Количество итераций внешнего цикла
# на 1 меньше, чем элементов списка.
j = N - 1
while j > 0:

    # Переменная для хранения индекса
    # самого большого элемента.
    ind = 0

    # Переменная i принимает значения
    # от 1 до j включительно.
    # Т. е. перебираются элементы списка
    # начиная со второго до j.
    # Первый элемент с индексом 0
    # уже учтен в переменной ind.
    for i in range(1, j+1):
        # Если текущий элемент больше
        # элемента с индексом ind,
        # то в ind записывается
        # текущий индекс.
        if a[i] > a[ind]:
            ind = i

    # С помощью обмена значений
    # в конец (j) исследуемого отрезка списка
    # записывается самый большой элемент.
    b = a[ind]
    a[ind] = a[j]
    a[j] = b

    # j уменьшается, чтобы в следующей итерации
    # исключить конец списка.
    j -= 1

print(a)




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: