Advertisement
_RayBoy_

1.3 Сортировка методом вставок

Feb 18th, 2022
604
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.30 KB | None | 0 0
  1. """Суть данного метода состоит в том, что идёт перебор
  2.   элементов в неотсортированной части массива и каждый
  3.   'вставляется' на своё место в отсортированную часть
  4.   массива"""
  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. for i in range(1, len(work_data)):
  14.     value = work_data[i]  # Текущее число в цикле, начиная со 2 числа (индекс: 1)
  15.  
  16.     j = i - 1  # Индекс предыдущего числа
  17.  
  18.     while j >= 0 and value < work_data[j]:
  19.         work_data[j + 1] = work_data[j]  # Присваиваем след. элементу значение индекса j
  20.         j -= 1
  21.     work_data[j + 1] = value  # Присваиваем след. элементу значение индекса i (именно сохранённого в value)
  22.  
  23. print("Отсортированный список:", work_data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement