РУҚА
Задания № 6, 25 · ЕГЭ

Обратный перебор массива

Как просматривать элементы массива справа налево и безопасно изменять его
2 мин чтенияСложность: Обновлено 29 сентября 2026

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

Обратный перебор массива
Обратный перебор массива — последовательный просмотр элементов с уменьшением индекса: сначала обрабатывается элемент с индексом \(n-1\), затем \(n-2\) и так далее до элемента с индексом \(0\), где \(n\) — количество элементов массива.

Порядок индексов

Если массив содержит \(n\) элементов и индексация начинается с нуля, индексы при обратном переборе имеют вид \(n-1, n-2, \ldots, 1, 0\). В языке Python это часто записывают циклом for i in range(n - 1, -1, -1). Такой цикл входит в общий перебор массива, но отличается направлением движения по индексам.

\[i=n-1,\ n-2,\ \ldots,\ 0\]
№
Пример: удаление подходящих элементов

Пусть дан массив a = [4, 7, 2, 7, 5], и нужно удалить все элементы, равные 7. При движении справа налево удаляются элементы с индексами 3 и 1. После удаления элемента с индексом 3 элементы левее не сдвигаются, поэтому индекс 1 по-прежнему можно безопасно проверить. В результате получится [4, 2, 5].

Python
a = [4, 7, 2, 7, 5]\ni = len(a) - 1
while i >= 0:
    if a[i] == 7:
        a.pop(i)
    i -= 1
print(a)
!
Не путайте с прямым перебором

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

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

Проверь себя

В каком порядке будут обработаны индексы массива из 6 элементов при обратном переборе?

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

Главное

  • Обратный перебор идёт по индексам \(n-1, n-2, \ldots, 0\).
  • Он удобен при удалении элементов, потому что сдвиг значений справа не затрагивает уже проверенные элементы.
  • Обратный перебор — это способ движения по массиву, а не отдельный вид сортировки.