Задания № 6, 12 · ЕГЭ

Циклический сдвиг массива

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

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

Циклический сдвиг массиваНазвание связано с представлением массива как замкнутого круга: после последнего элемента снова идёт первый.
Операция, при которой каждый элемент массива перемещается на одинаковое число позиций по кругу: при сдвиге вправо последние элементы переходят в начало, а при сдвиге влево первые элементы переходят в конец. Количество элементов и набор значений не изменяются.

Номера элементов определяются с помощью индексации массива. При сдвиге вправо на \(k\) позиций элемент с индексом \(i\) получает новый индекс \(((i+k)\bmod n)\), где \(n\) — длина массива. При сдвиге влево используется вычитание \(k\). Обращение к исходным и новым позициям выполняется через обращение к элементам массива.

\[i_{\text{новый}} = (i+k)\bmod n \quad\text{(сдвиг вправо)}\]1
\[i_{\text{новый}} = (i-k+n)\bmod n \quad\text{(сдвиг влево)}\]2
№
Пример

Пусть массив \([10, 20, 30, 40, 50]\). При циклическом сдвиге вправо на 2 позиции получаем \([40, 50, 10, 20, 30]\): элементы 40 и 50 переходят в начало. При сдвиге влево на 2 позиции результатом будет \([30, 40, 50, 10, 20]\).

!
Не путайте с обычным сдвигом

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

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

Какой массив получится после циклического сдвига \([1, 2, 3, 4]\) вправо на одну позицию?

Если величина сдвига больше длины массива, достаточно оставить остаток от деления \(k\) на \(n\): сдвиг на \(n\) позиций возвращает массив в исходное состояние. Это свойство удобно применять в программах и при решении экзаменационных задач.

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

Главное

  • Циклический сдвиг перемещает все элементы на одинаковое число позиций и сохраняет их порядок.
  • При переходе через границу массива элемент появляется с противоположного конца.
  • Для индексов используют операцию остатка от деления: \(\bmod n\).