Сортировка списков
Сортировка пузырьком
a = [1, 7, -3, 9, 0, -67, 34, 12, 45, 1000, 6, 8, -2, 99]
n = len(a)
for i in range(n - 1):
for j in range(n - 1 - i):
if a[j] > a[j + 1]: # если порядок элементов пары неправильный
a[j], a[j + 1] = a[j + 1], a[j] # меняем элементы пары местами
print('Отсортированный список:', a)
Сортировка выбором
arr = [64, 25, 12, 22, 11]
n = len(arr)
# Проходим по всем элементам списка
for i in range(n):
# Находим индекс минимального элемента в оставшейся части списка
min_index = i
for j in range(i + 1, n):
if arr[j] < arr[min_index]:
min_index = j
# Меняем местами текущий элемент с минимальным элементом
arr[i], arr[min_index] = arr[min_index], arr[i]
print("Отсортированный список по возрастанию:", arr)
Сортировка простыми вставками
a = [1, 7, -3, 9, 0, -67, 34, 12, 45, 1000, 6, 8, -2, 99]
n = len(a)
for i in range(1, n):
elem = a[i] # берем первый элемент из неотсортированной части списка
j = i
# пока элемент слева существует и больше нашего текущего элемента
while j >= 1 and a[j - 1] > elem:
# смещаем j-й элемент отсортированной части вправо
a[j] = a[j - 1]
# сами идём влево, дальше ищем место для нашего текущего элемента
j -= 1
# нашли место для нащего текущего элемента из неотсортированной части
# и вставляем его на индекс j в отсортированной части
a[j] = elem
print('Отсортированный список:', a)