Menu
Coddy logo textTech

Implementation (Part 2)

Урок 6 из 9 курса Сортировка вставками — серия DSA на Coddy.

Сценарий: Сортировка [5, 2, 9, 1, 5]

Шаг 1: Начальное состояние

  • Исходный массив: [5, 2, 9, 1, 5]
  • Представьте это как нашу руку с картами (или массив чисел).

Шаг 2: Первый элемент (i=1, key=2)

  • Мы начинаем со второй карты (элемента): key = 2.
  • Сравниваем 2 с 5 (единственным отсортированным элементом на данный момент).
  • Так как 2 меньше, мы сдвигаем 5 вправо и вставляем 2 на его место.
  • Обновленный массив: [2, 5, 9, 1, 5]

Шаг 3: Второй элемент (i=2, key=9)

  • Переходим к следующей карте: key = 9.
  • Сравниваем 9 с 5.
  • Так как 9 больше, сдвиг не требуется.
  • Обновленный массив: [2, 5, 9, 1, 5] (без изменений)

Шаг 4: Третий элемент (i=3, key=1)

  • Переходим к следующей карте: key = 1.
  • Сравниваем 1 с 9, затем с 5.
  • Сдвигаем 9 и 5 вправо, освобождая место для 1.
  • Обновленный массив: [1, 2, 5, 9, 5]

Шаг 5: Четвертый элемент (i=4, key=5)

  • Переходим к следующей карте: key = 5.
  • Сравниваем 5 с 9.
  • Так как 5 меньше, сдвиг не требуется.
  • Обновленный массив: [1, 2, 5, 9, 5] (без изменений)

Шаг 6: Пятый элемент (i=5, key=5)

  • Переходим к последней карте: key = 5.
  • Сравниваем 5 с 9.
  • Так как 5 меньше, сдвиг не требуется.
  • Обновленный массив: [1, 2, 5, 5, 9]

Конечный результат:

  • Отсортированный массив: [1, 2, 5, 5, 9]

На каждом шаге мы выбираем карту (элемент), сравниваем её с уже отсортированными и помещаем в нужное место, при необходимости сдвигая остальные. Мы повторяем этот процесс до тех пор, пока весь массив не будет отсортирован.

challenge icon

Задание

Легко

Теперь реализуйте внутренний цикл, который выполняет сортировку для каждого элемента.

 

Завершите сортировку внутри функции insertionSort.

Функция также должна вывести элементы массива в конце, по одному, разделяя их новой строкой.

Используйте предыдущие уроки и подсказку в качестве справочного материала :)

Попробуйте сами

def insertionSort(arr):
    for i in range(1, len(arr)):
        key = arr[i]
        print(key)

Все уроки раздела Сортировка вставками — серия DSA