В последнем посте мы осознали важность и необходимость «Динамического массива».

Динамический = нет необходимости заранее указывать количество слов. Повторюсь, когда вы печатаете документ, вы заранее не знаете, сколько памяти потребуется. Это затрудняет использование "Статического массива".

Статика означает отдых, а динамика означает противоположность статике, то есть движению. Мы можем спокойно сказать, что что-то движется в динамическом массиве. Значения хранения массива и, следовательно, значения перемещаются

Имейте это в своей голове.

Иллюстрация-1

Мы будем печатать "Как дела?" одновременно, не объявляя заранее, сколько места нужно!

При использовании динамического массива система изначально выделяет несколько слотов

Начальное выделение зависит от языков программирования (я думаю)

Для приведения времени выделяем 5 слотов

После «а» у нас закончилось место

Затем было выделено 11 слотов (обычно двойных)

Но подождите, мы не можем сразу использовать эти 11 слотов.

Нам нужно скопировать элементы, которые мы набрали до сих пор, в 11 слотов.

Почему? Это гарантирует, что то, что вы набрали, остается в непрерывном слоте, что делает их легко доступными. Тем не менее, нам нужен Array, верно?

Именно это движение делает его динамичным.

Если 11 слотов недостаточно, он выделит больше и скопирует элементы туда

Этот процесс повторяется до тех пор, пока мы не закончим печатать.

Примечание. Это не "скопировано", а "вырезано", потому что освобождает предыдущее пространство

Какие бы слоты ни выделялись каждый раз, это называется емкостью.

Если не происходит ни одного из элементовемкостьДвижение

Надеюсь, вы уже поняли основную идею статических и динамических массивов.

В следующем посте мы увидим альтернативы динамическим массивам!