Ds\Deque::unshift

(PECL ds >= 1.0.0)

Ds\Deque::unshiftДобавляет значения в начало двухсторонней очереди

Описание

public Ds\Deque::unshift(mixed $values = ?): void

Добавляет значения в начало двухсторонней очереди, сдвигая все элементы вперёд, чтобы освободить место для новых.

Список параметров

values

Добавляемые значения.

Замечание:

Множество значений добавляются в том порядке, как они были переданы.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования Ds\Deque::unshift()

<?php
$deque
= new \Ds\Deque([1, 2, 3]);

$deque->unshift("a");
$deque->unshift("b", "c");

print_r($deque);
?>

Вывод приведённого примера будет похож на:

Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)
add a note add a note

User Contributed Notes 1 note

up
1
hugo at fc dot up dot pt
4 years ago
Where the documentation says "moving all the current values forward", while it sounds like the complexity would be O(N), I checked the code at https://github.com/php-ds/ext-ds/blob/master/src/ds/ds_deque.c#L366 and it is in fact O(1) for each element
To Top