Структуры данных
PHP Manual

Класс Vector

(Информация о версии неизвестна, возможно, только в SVN)

Введение

Вектор - это последовательность значений в непрерывном буфере, который растет и обрезается автоматически. Это наиболее эффективная последовательная структура, поскольку индексы значений прямо отображаются на их индекс в буфере, и фактор роста не влияет на сложность доступа.

Сильные стороны

  • Поддерживает синтаксис массива (квадратные скобки).
  • Использует меньше памяти, чем array с тем же количеством элементов.
  • Автоматически высвобождает память, когда количество элементов уменьшается.
  • Вместимость не ограничена степенями двойки.
  • get(), set(), push() и pop() имеют сложность O(1).

Слабые стороны

  • shift(), unshift(), insert() и remove() имеют сложность O(n).

Обзор классов

Ds\Vector implements 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 )
public bool contains ([ mixed $...values ] )
public Ds\Vector copy ( void )
public Ds\Vector filter ([ callable $callback ] )
public mixed find ( mixed $value )
public mixed first ( void )
public mixed get ( int $index )
public void insert ( int $index [, mixed $...values ] )
public bool isEmpty ( void )
public string join ([ string $glue ] )
public mixed last ( void )
public Ds\Vector map ( callable $callback )
public Ds\Vector merge ( mixed $values )
public mixed pop ( void )
public void push ([ mixed $...values ] )
public mixed reduce ( callable $callback [, mixed $initial ] )
public mixed remove ( int $index )
public void reverse ( void )
public Ds\Vector reversed ( void )
public void rotate ( int $rotations )
public void set ( int $index , mixed $value )
public mixed shift ( void )
public Ds\Vector slice ( int $index [, int $length ] )
public void sort ([ callable $comparator ] )
public Ds\Vector sorted ([ callable $comparator ] )
public number sum ( void )
public array toArray ( void )
public void unshift ([ mixed $values ] )
}

Предопределенные константы

Ds\Vector::MIN_CAPACITY

Содержание


Структуры данных
PHP Manual