Реверс массива
Реверс массива — это перестановка его элементов в обратном порядке: первый элемент становится последним, а последний — первым (рис. 8.5).
Рис. 8.5
Из рисунка 8.5 следует, что 1-й элемент меняется местами с N-m, второй — с (N - 1)-m и т. д. Сумма индексов элементов, участвующих в обмене, для всех пар равна N + 1, поэтому элемент с номером i должен меняться местами с (N + 1 - i)-m элементом. Кажется, что можно написать такой цикл:
Однако это неверно. Посмотрим, что получится для массива из четырёх элементов (рис. 8.6).
Рис. 8.6
Как видите, массив вернулся в исходное состояние: реверс выполнен дважды. Поэтому нужно остановить цикл на середине массива:
Для обмена используется вспомогательная целая переменная с:
Следующая страница Сдвиг элементов массива