PHP - vector 函数


Vector 是连续缓冲区中的一系列值,该缓冲区会自动增长和收缩。它是最有效的顺序结构,因为值索引直接映射到缓冲区中的索引,并且增长因子未绑定到特定的倍数或指数。

优势

  • 支持数组语法(方括号)。
  • 对于相同数量的值,使用的总内存比数组少。
  • 当其大小下降到足够低时,自动释放分配的内存。
  • 容量不必是 2 的幂。
  • get()set()push()pop() 都是 O(1)

弱势

  • shift()unshift()insert() remove() 都是 O(n)

函数列表

下面是 Vector 类提供的函数列表 -

函数 描述
Ds\Vector::allocate() 为所需的容量分配足够的内存。
Ds\Vector::apply() 通过对每个值应用回调函数来更新所有值。
Ds\Vector::capacity() 返回当前容量。
Ds\Vector::clear() 删除所有值。
Ds\Vector::__construct() 创建新实例。
Ds\Vector::contains() 确定 vector 是否包含给定值。
Ds\Vector::copy() 返回 vector 的浅表副本。
Ds\Vector::count() 用于计算 vector 元素数量。
Ds\Vector::find() 使用 callable 创建新 vector ,以确定要包含哪些值。
Ds\Vector::first() 返回 vector 第一个值。
Ds\Vector::get() 返回给定索引处的值。
Ds\Vector::insert() 在给定索引处插入值。
Ds\Vector::isEmpty() 返回 vector 是否为空。
Ds\Vector::join() 将所有值作为字符串连接在一起。
Ds\Set::jsonSerialize() 返回可转换为 JSON 的表示形式。
Ds\Vector::last() 返回最后一个值
Ds\Vector::map() 返回对每个值应用回调的结果。
Ds\Sequence::merge() 返回将所有给定值添加到序列的结果。
Ds\Sequence::pop() 删除并返回最后一个值。
Ds\Vector::push() 将值添加到 vector 的末尾。
Ds\Vector::reduce() 使用 callback 函数将 vector 减少为单个值。
Ds\Vector::remove() 按索引删除并返回一个值。
Ds\Vector::reverse() 就地反转 vector。
Ds\Vector::reversed() 返回反向副本。
Ds\Vector::rotate() 将 verctor 旋转给定的旋转次数。
Ds\Vector::set() 更新给定索引处的值。
Ds\Vector::shift() 删除并返回第一个值
Ds\Vector::slice 返回给定范围的子 vector 。
Ds\Vector::sort() 就地对 vector 进行排序。
Ds\Vector::sorted() 返回已排序的副本。
Ds\Vector::sum() 返回 vector 中所有值的总和。
Ds\Vector::toArray 将 vector 转换为数组。
Ds\Vector::unshift 将值添加到 vector 的前面。