Сдвиг элементов массива
При удалении и вставке элементов необходимо выполнять сдвиг части или всех элементов массива в ту или другую сторону. Массив часто рисуют в виде таблицы, где первый элемент расположен слева. Поэтому сдвиг влево — это перемещение всех элементов на одну ячейку, при котором А[2] переходит на место А[1], А[3] — на место А[2] и т. д. (рис. 8.7).
Рис. 8.7
Последний элемент остаётся на своём месте, поскольку новое значение для него взять неоткуда — массив кончился. Алгоритм выглядит так:
Обратите внимание, что цикл заканчивается при i = N - 1 (а не N), чтобы не было выхода за границы массива, т. е. обращения к несуществующему элементу А[N+1]. При таком сдвиге первый элемент пропадает, а последний дублируется. Можно старое значение первого элемента записать на место последнего. Такой сдвиг называется циклическим (см. § 28). Предварительно (до начала цикла) первый элемент нужно запомнить во вспомогательной переменной, а после завершения цикла записать его в последнюю ячейку массива:
Следующая страница Отбор нужных элементов