Вставка элемента в массив
Вставка элемента в массив — это добавление нового значения в выбранную позицию с перемещением прежних элементов вправо. Чтобы освободить место, элементы от конца массива до позиции вставки сдвигают на одну ячейку вправо.
Перед выполнением операции важно определить индекс позиции вставки. Если используется нумерация с нуля, первый элемент имеет индекс \(0\). Сдвиг начинают с последнего элемента и выполняют справа налево: так ещё не перемещённые значения не затираются.
Здесь \(n\) — исходная длина массива, а \(k\) — индекс позиции вставки. После сдвига в ячейку \(A[k]\) записывают новое значение, а длина массива становится равной \(n+1\). В языках, где массив имеет фиксированный размер, сначала проверяют, хватает ли свободного места.
Пусть массив равен \([10, 20, 40, 50]\). Нужно вставить \(30\) на индекс \(2\). Сначала сдвигаем \(50\) на индекс \(4\), затем \(40\) — на индекс \(3\). В ячейку с индексом \(2\) записываем \(30\). Получаем \([10, 20, 30, 40, 50]\).
При вставке элементы сдвигают вправо, начиная с конца. Сдвиг слева направо может уничтожить значения: например, после записи \(A[i+1]=A[i]\) исходное значение \(A[i+1]\) уже потеряно. Удаление элемента, напротив, обычно требует сдвига оставшихся элементов влево.
В каком направлении нужно сдвигать элементы при вставке в массив?
Главное
- Вставка добавляет значение в заданную позицию и сдвигает последующие элементы вправо.
- Сдвиг выполняют от конца массива к позиции вставки, затем записывают новое значение.
- При нулевой индексации позиция вставки обозначается индексом \(k\), а длина увеличивается с \(n\) до \(n+1\).