Я читал, что доступ к элементам по индексу позиции может быть выполнен в постоянное время в STL-детексе. Насколько я знаю, элементы в deque могут храниться в нескольких несмежных местах, исключая безопасный доступ через арифметику указателя. Например:Доступ к STL по индексу O (1)?
abc-> defghi-> jkl-> MNOP
Элементы выше дека состоит из одного символа. Набор символов в одной группе указывает, что он выделен в непрерывной памяти (например, abc находится в одном блоке памяти, defhi находится в другом блоке памяти и т. Д.). Может ли кто-нибудь объяснить, как доступ по индексу позиции может выполняться в постоянное время, особенно если элемент, к которому нужно получить доступ, находится во втором блоке? Или у deque есть указатель на группу блоков?
Обновление: или существует ли какая-либо другая общая реализация для deque?
Почему голос? – jasonline
Возможно, потому, что вы ответили на свой вопрос и приняли его. –
@ Томалак: Механизм существует по какой-то причине. – GManNickG