Junior — Middle
112
Capacity Array деректер құрылымы қалай жүзеге асырылғанын және ол жадыда өзінің сыйымдылығын қалай басқаратынын түсіндіре аласыз ба?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Capacity Array — это структура данных, которая управляет массивом с выделенной емкостью памяти, позволяя эффективно добавлять элементы без частого перераспределения.
Как это работает:
- Изначально выделяется массив с некоторой емкостью (capacity).
- При добавлении элементов, если текущий размер (count) меньше емкости, элемент просто добавляется.
- Если размер достигает емкости, емкость увеличивается (обычно в 2 раза), выделяется новый массив большего размера, и данные копируются туда.
Такой подход снижает количество операций выделения памяти и копирования, улучшая производительность при динамическом росте массива.
Пример на Swift:
var array = [Int]()
array.reserveCapacity(10) // выделяем емкость под 10 элементов
for i in 1...15 {
array.append(i) // при достижении 10 элементов емкость увеличится автоматически
}
Здесь reserveCapacity задает начальную емкость, а при добавлении элементов емкость автоматически расширяется.