Создать программу для сортировки массива тремя методами (обменная сортировка (метод «пузырька»), Сортировка выбором, Метод простого включения (сортировка вставками)). Все массивы сформировать случайным образом четными целыми числами в диапазоне [-40,0].
import random def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr def selection_sort(arr): 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] return arr def insertion_sort(arr): n = len(arr) for i in range(1, n): key = arr[i] j = i - 1 while j >= 0 and key < arr[j]: arr[j+1] = arr[j] j -= 1 arr[j+1] = key return arr arr = [random.randint(-40, 0) for _ in range(10)] print("Исходный массив:") print(arr) sorted_arr_bubble = bubble_sort(arr.copy()) sorted_arr_selection = selection_sort(arr.copy()) sorted_arr_insertion = insertion_sort(arr.copy()) print("\nОтсортированный массив методом пузырька:") print(sorted_arr_bubble) print("\nОтсортированный массив методом выбора:") print(sorted_arr_selection) print("\nОтсортированный массив методом включения:") print(sorted_arr_insertion)
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
def selection_sort(arr):
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]
return arr
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
return arr
arr = [random.randint(-40, 0) for _ in range(10)]
print("Исходный массив:")
print(arr)
sorted_arr_bubble = bubble_sort(arr.copy())
sorted_arr_selection = selection_sort(arr.copy())
sorted_arr_insertion = insertion_sort(arr.copy())
print("\nОтсортированный массив методом пузырька:")
print(sorted_arr_bubble)
print("\nОтсортированный массив методом выбора:")
print(sorted_arr_selection)
print("\nОтсортированный массив методом включения:")
print(sorted_arr_insertion)
Пример результата:
Исходный массив:[-8, -22, -34, -23, -26, -18, -37, -10, -8, -22]
Отсортированный массив методом пузырька:
[-37, -34, -26, -23, -22, -22, -18, -10, -8, -8]
Отсортированный массив методом выбора:
[-37, -34, -26, -23, -22, -22, -18, -10, -8, -8]
Отсортированный массив методом включения:
[-37, -34, -26, -23, -22, -22, -18, -10, -8, -8]