Напишите метод сортировки списка с использованием пузырькового метода (bubble sort).

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

def bubble_sort(values):
    for end in range(len(values) - 1, 0, -1):
        swapped = False
        for index in range(end):
            if values[index] > values[index + 1]:
                values[index], values[index + 1] = values[index + 1], values[index]
                swapped = True
        if not swapped:
            break
    return values

Функция изменяет переданный список. В худшем и среднем случае время O(n²), при уже отсортированном списке с ранним выходом — O(n). Дополнительная память O(1). Равные элементы не переставляются, поэтому сортировка стабильна; для обычного прикладного кода предпочтительнее встроенная сортировка.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее