Вопрос проверяет понимание временной сложности операций с массивами.
Вставка в конец массива: O(1) (амортизированно).
Вставка в начало/середину: O(n), так как элементы сдвигаются.
Array в Swift — это динамический массив, который обычно хранит элементы в непрерывной области памяти.
Сложность операций:
Вставка в конец (append):
В среднем O(1), но иногда O(n) при расширении буфера.
Вставка в начало/середину (insert(at:)):
Всегда O(n), так как требует сдвига последующих элементов.
Пример:
var array = [1, 2, 3]
array.append(4) // O(1)
array.insert(0, at: 0) // O(n)Вывод:
Для частых вставок в начало лучше использовать LinkedList (но его нет в стандартной библиотеке Swift).