Ds\Deque::unshift

(PECL ds >= 1.0.0)

Ds\Deque::unshift在双端队列的开头添加值

描述

public Ds\Deque::unshift(混合 $values = ?):

在双端队列的开头添加值,将所有当前值向前移动以腾出空间以容纳新值。

参数

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
)
添加备注

用户贡献的备注 1 备注

1
hugo at fc dot up dot pt
4 年前
文档中说“将所有当前值向前移动”,虽然听起来复杂度应该是 O(N),但我检查了 https://github.com/php-ds/ext-ds/blob/master/src/ds/ds_deque.c#L366 中的代码,实际上对于每个元素来说是 O(1)
To Top