Vector (class)
Vector类
介绍
(没有可用的版本信息,可能只在Git中)
Vector是连续缓冲区中的一系列值,可自动增长和缩小。这是最有效的顺序结构,因为值的索引是直接映射到其缓冲区中的索引,并且增长因子不受特定的倍数或指数限制。
优势
- 支持数组语法(方括号)。
- 对于相同数量的值,使用比阵列少的总体内存。
- 当大小下降得足够小时,自动释放分配的内存。
- 容量不一定是2的幂。
get()
,set()
,push()
,pop()
都是O(1)。
弱点
shift()
,unshift()
,insert()
和remove()
都是O(n)。Class synopsisDs \ Vector
实现Ds \ Sequence
{/ *常量* / const int MIN_CAPACITY = 10; / *方法* / public void allocate(int $ capacity)public void apply(callable $ callback)public int capacity(void)public void clear(void)混合$ ...值])publicDs \ Vector
copy(void)publicDs \ Vector
filter([callable $ callback])public mixed find(mixed $ value)public mixed get(void $ index) public void insert(int $ index [,mixed $ ... values])public bool isEmpty(void)public string join([string $ glue])public mixed last(void)publicDs \ Vector
map(callable $ callback)publicDs \ Vector
merge(mixed $ values)public mixed pop(void)public void push([mixed $ ... values])public mixed reduce(callable $ callback [混合$初始])public void remove(int $ index)public void reverse(void)publicDs \ Vector
reversed(void)public void rotate(int $ rotations)public void set(int $ index,mixed $ value)public mixed shift (void)publicDs \ Vector
slice(int $ index [,int $ length])public void sort([callable $ comparator])publicDs \ Vector
sorted([callable $ comparator])public number sum(void)public array toArray (void)public void unshift([mixed $ values])}预定义常量public void sort([callable $ comparator])publicDs \ Vector
sorted([callable $ comparator])public number sum(void)public array toArray(void)public void unshift([mixed $ values])}预定义的常量public void sort([callable $ comparator])publicDs \ Vector
sorted([callable $ comparator])public number sum(void)public array toArray(void)public void unshift([mixed $ values])}预定义的常量Ds\Vector::MIN_CAPACITY
- Ds \ Vector :: allocate - 为所需容量分配足够的内存。
- Ds \ Vector :: apply - 通过对每个值应用回调函数来更新所有值。
- Ds \ Vector :: capacity - 返回当前容量。
- Ds \ Vector :: clear - 删除所有值。
- Ds \ Vector :: __construct - 创建一个新实例。
- Ds \ Vector :: contains - 确定向量是否包含给定值。
- Ds \ Vector :: copy - 返回矢量的浅表副本。
- Ds \ Vector :: count - 返回集合中值的数量。
- Ds \ Vector :: filter - 使用可调用函数创建一个新矢量,以确定要包含哪些值。
- Ds \ Vector :: find - 尝试查找值的索引。
- Ds \ Vector :: first - 返回向量中的第一个值。
- Ds \ Vector :: get - 返回给定索引处的值。
- Ds \ Vector :: insert - 在给定索引处插入值。
- Ds \ Vector :: isEmpty - 返回矢量是否为空
- Ds \ Vector :: join - 将所有值连接为一个字符串。
- Ds \ Vector :: jsonSerialize - 返回可以转换为JSON的表示。
- Ds \ Vector :: last - 返回最后一个值。
- Ds \ Vector :: map - 返回对每个值应用回调的结果。
- Ds \ Vector :: merge - 返回将所有给定值添加到向量的结果。
- Ds \ Vector :: pop - 删除并返回最后一个值。
- Ds \ Vector :: push - 将值添加到矢量的末尾。
- Ds \ Vector :: reduce - 使用回调函数将矢量减少为单个值。
- Ds \ Vector :: remove - 通过索引删除并返回一个值。
- Ds \ Vector :: reverse - 在原地颠倒矢量。
- Ds \ Vector :: reversed - 返回一个颠倒的副本。
- Ds \ Vector :: rotate - 将向量旋转给定数量的旋转。
- Ds \ Vector :: set - 更新给定索引处的值。
- Ds \ Vector :: shift - 移除并返回第一个值。
- Ds \ Vector :: slice - 返回给定范围的子向量。
- Ds \ Vector :: sort - 就地排序向量。
- Ds \ Vector :: sorted - 返回已排序的副本。
- Ds \ Vector :: sum - 返回矢量中所有值的和。
- Ds \ Vector :: toArray - 将矢量转换为数组。
- Ds \ Vector :: unshift - 将值添加到矢量的前面。
← Ds\Sequence::unshift
Ds\Vector::allocate →