PHP Conference Japan 2024

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
)
新增註解

使用者貢獻的註解 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