PHP - Funciones vectoriales
El vector es una secuencia de valores en un búfer contiguo que crece y se reduce automáticamente. Es la estructura secuencial más eficiente porque el índice de valor es una asignación directa a su índice en un búfer, y el factor de crecimiento no está vinculado a un múltiplo o exponente específico.
Fortalezas
- Admite la sintaxis de matriz (corchetes).
- Utiliza menos memoria general que una matriz para el mismo número de valores.
- Libera automáticamente la memoria asignada cuando su tamaño cae lo suficientemente bajo.
- La capacidad no tiene por qué ser una potencia de 2.
- get (), set (), push (), pop () son todos O (1).
Debilidades
- shift (), unshift (), insert () y remove () son todos O (n).
Sinopsis de la clase
Ds\Vector implements Ds\Sequence {
/* Constants */
const int MIN_CAPACITY = 10 ;
/* Methods */
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 ] )
}
Constantes predefinidas
Ds \ Vector :: MIN_CAPACITY
No Señor | Función descriptiva |
---|---|
1 | Esta función puede asignar suficiente memoria para la capacidad requerida. |
2 | Esta función puede actualizar todos los valores aplicando una función de devolución de llamada a cada valor. |
3 | Esta función puede devolver la capacidad actual. |
4 | Esta función puede eliminar todos los valores. |
5 | Ds \ Vector :: __ construct () Esta función puede crear una nueva instancia. |
6 | Esta función puede determinar si un vector contiene valores dados. |
7 | Esta función puede devolver una copia superficial de vector. |
8 | Esta función se puede utilizar para contar el número de elementos en un vector. |
9 | Esta función puede crear un nuevo vector utilizando invocables para determinar qué valores incluir. |
10 | Esta función puede devolver el primer valor de un vector. |
11 | Esta función puede devolver un valor en un índice dado. |
12 | Esta función puede insertar los valores en un índice dado. |
13 | Esta función puede devolver si el vector está vacío. |
14 | Esta función puede unir todos los valores como una cadena. |
15 | Esta función puede devolver una representación que se puede convertir a JSON. |
dieciséis | Esta función puede devolver un último valor |
17 | Esta función puede devolver el resultado de aplicar una devolución de llamada a cada valor. |
18 | Esta función puede devolver el resultado de sumar todos los valores dados a una secuencia. |
19 | Esta función puede eliminar y devolver el último valor. |
20 | Esta función puede agregar valores al final de un vector. |
21 | Esta función puede reducir el vector a un solo valor mediante la función de devolución de llamada. |
22 | Esta función puede eliminar y devolver un valor por índice. |
23 | Esta función puede invertir el vector in situ. |
24 | Esta función puede devolver una copia invertida. |
25 | Esta función puede rotar el verctor en un número determinado de rotaciones. |
26 | Esta función puede actualizar el valor en un índice determinado. |
27 | Esta función puede eliminar y devolver el primer valor |
28 | Esta función puede devolver un subvector del rango dado. |
29 | Esta función puede ordenar el vector in situ. |
30 | Esta función puede devolver una copia ordenada. |
31 | Esta función puede devolver la suma de todos los valores en un vector. |
32 | Esta función puede convertir el vector en una matriz. |
33 | Esta función puede agregar valores al frente de un vector. |