PHP Deque 函式



Deque 是一個在連續緩衝區中的值序列,可以自動增長和縮小。它是“雙端佇列”的常用縮寫,可以由 Ds\Queue 在內部使用。

可以使用兩個指標來跟蹤頭部和尾部。指標可以環繞緩衝區的末端,從而避免需要移動其他值來騰出空間。這可以使移位和取消移位非常快。

透過索引訪問值可能需要在索引與其在緩衝區中的對應位置之間進行轉換:((head + position) % capacity)。

優勢

  • 支援陣列語法(方括號)。
  • 對於相同數量的值,與陣列相比,它使用更少的記憶體。
  • 當其大小下降到足夠低時,會自動釋放分配的記憶體。
  • get()、set()、push()、pop()、shift() 和 unshift() 都是 O(1)。

劣勢

  • 容量必須是 2 的冪。
  • insert() 和 remove() 是 O(n)。

函式列表

以下是 Deque 類提供的函式列表 -

序號 函式及描述
1

Ds\Deque::allocate() 函式

此函式可以為所需的容量分配足夠的記憶體。

2

Ds\Deque::apply() 函式

此函式可以透過對每個值應用回撥函式來更新所有值。

3

Ds\Deque::capacity() 函式

此函式可以返回當前容量。

4

Ds\Deque::clear() 函式

此函式可以從雙端佇列中刪除所有值。

5

Ds\Deque::contains() 函式

此函式可以確定雙端佇列是否包含給定的值。

6

Ds\Deque::__construct() 函式

此函式可以建立一個新例項。

7

Ds\Deque::copy() 函式

此函式可以返回雙端佇列的淺複製。

8

Ds\Deque::count() 函式

此函式可用於獲取 Deque 中元素的數量。

9

Ds\Deque::filter() 函式

此函式可以透過使用可呼叫物件來確定要包含哪些值,從而建立一個新的雙端佇列。

10

Ds\Deque::find() 函式

此函式可以嘗試查詢值的索引。

11

Ds\Deque::first() 函式

此函式可以返回雙端佇列中的第一個值。

12

Ds\Deque::get() 函式

此函式可以返回給定索引處的值。

13

Ds\Deque::insert() 函式

此函式可以在給定索引處插入值。

14

Ds\Deque::isEmpty() 函式

此函式可以返回雙端佇列是否為空。

15

Ds\Deque::join() 函式

此函式可以將所有值連線在一起作為字串。

16

Ds\Deque::jsonSerialize() 函式

此函式可以返回可以轉換為 JSON 的表示形式。

17

Ds\Deque::last() 函式

此函式可以返回最後一個值。

18

Ds\Deque::map() 函式

此函式可以返回將回調應用於每個值的結果。

19

Ds\Deque::merge() 函式

此函式可以返回將所有給定值新增到雙端佇列的結果。

20

Ds\Deque::pop() 函式

此函式可以刪除並返回最後一個值。

21

Ds\Deque::push() 函式

此函式可以將值新增到雙端佇列的末尾。

22

Ds\Deque::reduce() 函式

此函式可以使用回撥函式將雙端佇列簡化為單個值。

23

Ds\Deque::remove() 函式

此函式可以刪除並返回透過索引的值。

24

Ds\Deque::reverse() 函式

此函式可以就地反轉雙端佇列。

25

Ds\Deque::reversed() 函式

此函式可以返回反轉的副本。

26

Ds\Deque::rotate() 函式

此函式可以根據給定的旋轉次數旋轉雙端佇列。

27

Ds\Deque::set() 函式

此函式可以更新給定索引處的值。

28

Ds\Deque::shift() 函式

此函式可以刪除並返回第一個值。

29

Ds\Deque::slice() 函式

此函式可以返回給定範圍的子雙端佇列。

30

Ds\Deque::sort() 函式

此函式可以就地排序雙端佇列。

31

Ds\Deque::sorted() 函式

此函式可以返回排序後的副本。

32

Ds\Deque::sum() 函式

此函式可以返回雙端佇列中所有值的總和。

33

Ds\Deque::toArray() 函式

此函式可以將雙端佇列轉換為陣列。

34

Ds\Deque::unshift() 函式

此函式可以將值新增到雙端佇列的頭部。

php_function_reference.htm
廣告