Advertisement
_RayBoy_

1.2 Сортировка методом обмена

Feb 18th, 2022
524
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.31 KB | None | 0 0
  1. """Суть данного метода состоит в том, что идёт попарное сравнение
  2.   элементов массива и, если элемент слева больше, чем элемент
  3.   справа, то они меняются местами"""
  4. # Существует куча способов сортировок обмена: https://habr.com/ru/post/414653/
  5. # Я же продемонстрирую пузырьковую сортировку
  6.  
  7. from random import randint, sample
  8.  
  9. data = [i for i in range(101)]  # Сгенерированный лист от 0 до 100
  10. work_data = sample(data, randint(3, 21))  # Рандомно-выбранные уникальные числа из data в рандомном количестве от 3 до 20
  11. print("Исходный список:", work_data)
  12.  
  13. flag = True  # Флаг для определения конца выполнения алгоритма
  14. while flag:
  15.     flag = False
  16.     for k in range(len(work_data) - 1):  # Пробежимся по длине массива
  17.         if work_data[k] > work_data[k + 1]:
  18.             work_data[k], work_data[k + 1] = work_data[k + 1], work_data[k]  # Меняем местами
  19.             flag = True
  20.  
  21. print("Отсортированный список:", work_data)
  22.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement