С массивом, основанным на deque, почему добавляется и удаляется с фронта амунированного O (1)? Мне было бы разумно, что всегда будет O (n), потому что любая операция будет означать, что текущие значения массива должны быть «перемещены» справа от индекса 0 для добавления и перехода влево для удаления ...Array Based Deques: Почему AddFront/RemoveFront O (1)?
Мой профессор говорит, что вам не нужно сменять, просто обновите hi и lo. Я не совсем уверен, что он имеет в виду.
Это не вопрос C++, но я пытаюсь понять его на этом языке.
Я предполагаю, что он просто перемещает указатель на «фронт» и «назад» в разные места в массиве. Это изменяет логическую структуру очереди без фактического перетасовки вокруг всего внутри нее. –