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