Ds\Deque::unshift

(PECL ds >= 1.0.0)

Ds\Deque::unshiftAdds values to the front of the deque

说明

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

Adds values to the front of the deque, moving all the current values forward to make room for the new values.

参数

values

The values to add to the front of the deque.

Note:

Multiple values will be added in the same order that they are passed.

返回值

没有返回值。

范例

Example #1 Ds\Deque::unshift() example

<?php
$deque 
= new \Ds\Deque([123]);

$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
)

User Contributed Notes

hugo at fc dot up dot pt 10-Jul-2020 12:46
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