9,3K подписчиков
Чтобы ответить на этот вопрос, нужно разобраться, как списки устроены на низком уровне. Определение списка в исходниках CPython выглядит так: typedef struct {  PyObject_VAR_HEAD  PyObject **ob_item;  Py_ssize_t allocated; } PyListObject; Здесь ob_item -- это непрерывный массив указателей на элементы списка, а allocated содержит длину массива. Вот и все, что нужно знать, чтобы отвечать на вопросы о сложности операций со списками.  Во-первых, отсюда сразу видно, что получить длину массива можно очень быстро, за O(1), потому что не нужно пересчитывать все элементы...
2 года назад
28 подписчиков
Всем привет. Продолжаем разбираться с тем, как работать с массивами в JavaScript. Сегодня обсудим тему – как добавить новый элемент в массив. Для решения поставленной перед нами задачи существует несколько методов: Разберем каждый из них по порядку. Эти методы будут полезны в разных ситуациях. А в конце рассмотрим альтернативные способы. Метод массива – unshift Если у вас есть вопрос, который звучит примерно так: «Как добавить элемент в начало массива?», то здесь приходит на помощь метод unshift...
3 года назад