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
广告