PHP - funções vetoriais
O Vector é uma sequência de valores em um buffer contíguo que aumenta e diminui automaticamente. É a estrutura sequencial mais eficiente porque o índice de valor é um mapeamento direto para seu índice em um buffer, e o fator de crescimento não está vinculado a um múltiplo ou expoente específico.
Forças
- Suporta sintaxe de array (colchetes).
- Usa menos memória geral do que uma matriz para o mesmo número de valores.
- Libera automaticamente a memória alocada quando seu tamanho diminui o suficiente.
- A capacidade não precisa ser uma potência de 2.
- get (), set (), push (), pop () são todos O (1).
Fraquezas
- shift (), unshift (), insert () e remove () são todos O (n).
Sinopse da aula
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
Sr. Não | Descrição da função |
---|---|
1 | Esta função pode alocar memória suficiente para a capacidade necessária. |
2 | Esta função pode atualizar todos os valores aplicando uma função de retorno de chamada a cada valor. |
3 | Esta função pode retornar a capacidade atual. |
4 | Esta função pode remover todos os valores. |
5 | Ds \ Vector :: __ construct () Esta função pode criar uma nova instância. |
6 | Esta função pode determinar se um vetor contém valores dados. |
7 | Esta função pode retornar uma cópia superficial do vetor. |
8 | Esta função pode ser usada para contar o número de elementos em um vetor. |
9 | Esta função pode criar um novo vetor usando chamável para determinar quais valores incluir. |
10 | Esta função pode retornar o primeiro valor em um vetor. |
11 | Esta função pode retornar um valor em determinado índice. |
12 | Esta função pode inserir os valores em um determinado índice. |
13 | Esta função pode retornar se o vetor está vazio. |
14 | Esta função pode juntar todos os valores como uma string. |
15 | Esta função pode retornar uma representação que pode ser convertida em JSON. |
16 | Esta função pode retornar um último valor |
17 | Esta função pode retornar o resultado da aplicação de um retorno de chamada a cada valor. |
18 | Esta função pode retornar o resultado da adição de todos os valores fornecidos a uma sequência. |
19 | Esta função pode remover e retornar o último valor. |
20 | Esta função pode adicionar valores ao final de um vetor. |
21 | Esta função pode reduzir o vetor a um único valor usando a função de retorno de chamada. |
22 | Esta função pode remover e retornar um valor por índice. |
23 | Esta função pode reverter o vetor no local. |
24 | Esta função pode retornar uma cópia revertida. |
25 | Esta função pode girar o verctor por um determinado número de rotações. |
26 | Esta função pode atualizar o valor em um determinado índice. |
27 | Esta função pode remover e retornar o primeiro valor |
28 | Esta função pode retornar um subvetor do intervalo fornecido. |
29 | Esta função pode classificar o vetor no local. |
30 | Ds \ Vector :: classificado () Esta função pode retornar uma cópia classificada. |
31 | Esta função pode retornar a soma de todos os valores em um vetor. |
32 | Esta função pode converter o vetor em um array. |
33 | Esta função pode adicionar valores à frente de um vetor. |