Вопрос оценивает знание механизма динамических массивов Swift и стратегии роста внутреннего буфера.
Короткий ответ
При первом добавлении создаётся буфер минимального размера. Если в буфере не хватает места, Swift выделяет новый буфер с увеличенной ёмкостью (обычно в 2 раза больше), копирует старые элементы и освобождает старый. Это обеспечивает амортизированное время вставки O(1).
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.