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