Ds\Deque::unshift

(PECL ds >= 1.0.0)

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

Description

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.

Parameters

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.

Return Values

No value is returned.

Examples

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

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

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

print_r($deque);
?>

The above example will output something similar to:

Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)
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