Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
ФХЪРСап 13, 2024, 07:38:53 pm
Новости:
Transaq
|
СБО "Transaq"
|
Подсистема ATF
| Topic:
работа с массивами
« предыдущая тема
следующая тема »
Страниц:
[
1
]
Автор
Тема: работа с массивами (Прочитано 3467 раз)
nikolz
Sr. Member
Сообщений: 285
работа с массивами
«
:
ЬРавР 16, 2011, 09:42:46 am »
Добрый день!
В программах часто использую при работе с массивом операцию unshift
Интересует время исполнения данного оператора.
Вопрос в следующем:
1) Поясните механизм реализации оператора.
Надеюсь , что он не реализуется смещением содержимого массива на элемент в памяти с последующей записью вставляемого.
Предполагаю,что но реализован через изменение индекса.
Если реализован через список, то просьба сообщить затраты памяти на один элемент массива.
2)Если возможно дайте оценку относительного быстродействия по сравнению с косвенной адресацией.
3) Зависит ли время исполнения операции unshift от длины массива.
Например массив 10 элементов или массив 100 тысяч элементов.
Спасибо
Записан
Heller
Разработчики
Hero Member
Сообщений: 1277
Re: работа с массивами
«
Ответ #1 :
ЬРавР 16, 2011, 12:24:43 pm »
Используется дек, и в зависимости от ситуации либо массив будет переписан полностью в заново выделенную область памяти, либо просто расширен.
На каждый элемент массива, если только это не строки, затрачивается всегда 8 байт.
Записан
Страниц:
[
1
]
Transaq
|
СБО "Transaq"
|
Подсистема ATF
| Topic:
работа с массивами
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
J
-----------------------------
-----------------------------
П
-----------------------------
-----------------------------
0
-----------------------------
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Powered by SMF 2.0.10
|
SMF © 2006-2008, Simple Machines LLC
Загружается...