Answer

Answer

t.me/python_tesst

Ответ:

[11, 19, 61, 115, 218]

Объяснение:

Сортировка вставками (Insertion Sort). Он перебирает несортированный сегмент и вставляет просматриваемый элемент в правильную позицию отсортированного списка. Предполагается, что первый элемент списка отсортирован. Затем мы переходим к следующему элементу, назовем его х. Если x больше первого элемента, мы оставляем его как есть. Если x меньше, мы копируем значение первого элемента во вторую позицию и затем устанавливаем первый элемент в x. Когда мы переходим к другим элементам несортированного сегмента, мы непрерывно перемещаем более крупные элементы в отсортированном сегменте вверх по списку, пока не встретим элемент меньше x, или не достигнем конца отсортированного сегмента, а затем поместим в его правильное положение.

Код:

def insertion_sort(nums):  
  # Начнем со второго элемента, так как мы предполагаем, что первый элемент отсортирован
  for i in range(1, len(nums)):
    item_to_insert = nums[i]
    # И сохранить ссылку на индекс предыдущего элемента
    j = i - 1
    # Переместить все элементы отсортированного сегмента вперед, если они больше, чем элемент для вставки
    while j >= 0 and nums[j] > item_to_insert:
      nums[j + 1] = nums[j]
      j -= 1
    # Вставляем элемент
    nums[j + 1] = item_to_insert
# Проверяем, что это работает
random_list_of_nums = [19, 11, 115, 218, 61]  
insertion_sort(random_list_of_nums)  
print(random_list_of_nums)




Report Page