Задание № 24 · ЕГЭ

Пузырьковая сортировка

Сортировка обменом соседних элементов
3 мин чтенияСложность: Обновлено 29 сентября 2026

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

Пузырьковая сортировкаНазвание связано с тем, что элементы перемещаются по массиву подобно пузырькам в жидкости.
Алгоритм сортировки, в котором на каждом проходе сравниваются соседние элементы массива. Если результат операции сравнения показывает, что порядок нарушен, элементы обмениваются местами. При сортировке по возрастанию больший элемент постепенно перемещается вправо, словно «всплывает» к концу массива.

Для массива из \(n\) элементов обычно выполняют до \(n-1\) проходов. После первого прохода самый большой элемент оказывается последним, после второго — второй по величине занимает предпоследнее место и так далее. На каждом проходе последнюю уже упорядоченную часть можно не просматривать.

\[C = \frac{n(n-1)}{2}\]1

Формула показывает максимальное число сравнений в обычном варианте алгоритма: \(C\) — число сравнений, \(n\) — количество элементов. В лучшем случае, если массив уже упорядочен и используется проверка отсутствия обменов, достаточно одного прохода.

№
Пример

Пусть массив равен \([4, 2, 3]\). Сравниваем \(4\) и \(2\): порядок нарушен, получаем \([2, 4, 3]\). Затем сравниваем \(4\) и \(3\): снова меняем элементы и получаем \([2, 3, 4]\). На следующем проходе обменов нет, поэтому алгоритм можно завершить.

!
Не путайте

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

Проверьте себя

Что произойдёт с парой соседних элементов \(7\) и \(5\) при сортировке по возрастанию?

Главное за минуту

Главное

  • Алгоритм сравнивает соседние элементы и обменивает их при нарушении порядка.
  • За проход крупные элементы перемещаются вправо; максимум сравнений равен \(\frac{n(n-1)}{2}\).
  • Для досрочного завершения проверяют, были ли обмены на текущем проходе.