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

Ds \ Vector :: allocate ()

Esta função pode alocar memória suficiente para a capacidade necessária.

2

Ds \ Vector :: apply ()

Esta função pode atualizar todos os valores aplicando uma função de retorno de chamada a cada valor.

3

Ds \ Vector :: capacity ()

Esta função pode retornar a capacidade atual.

4

Ds \ Vector :: clear ()

Esta função pode remover todos os valores.

5

Ds \ Vector :: __ construct ()

Esta função pode criar uma nova instância.

6

Ds \ Vector :: contains ()

Esta função pode determinar se um vetor contém valores dados.

7

Ds \ Vector :: copy ()

Esta função pode retornar uma cópia superficial do vetor.

8

Ds \ Vector :: count ()

Esta função pode ser usada para contar o número de elementos em um vetor.

9

Ds \ Vector :: find ()

Esta função pode criar um novo vetor usando chamável para determinar quais valores incluir.

10

Ds \ Vector :: first ()

Esta função pode retornar o primeiro valor em um vetor.

11

Ds \ Vector :: get ()

Esta função pode retornar um valor em determinado índice.

12

Ds \ Vector :: insert ()

Esta função pode inserir os valores em um determinado índice.

13

Ds \ Vector :: isEmpty ()

Esta função pode retornar se o vetor está vazio.

14

Ds \ Vector :: join ()

Esta função pode juntar todos os valores como uma string.

15

Ds \ Set :: jsonSerialize ()

Esta função pode retornar uma representação que pode ser convertida em JSON.

16

Ds \ Vector :: last ()

Esta função pode retornar um último valor

17

Ds \ Vector :: map ()

Esta função pode retornar o resultado da aplicação de um retorno de chamada a cada valor.

18

Ds \ Sequence :: merge ()

Esta função pode retornar o resultado da adição de todos os valores fornecidos a uma sequência.

19

Ds \ Sequence :: pop ()

Esta função pode remover e retornar o último valor.

20

Ds \ Vector :: push ()

Esta função pode adicionar valores ao final de um vetor.

21

Ds \ Vector :: reduzir ()

Esta função pode reduzir o vetor a um único valor usando a função de retorno de chamada.

22

Ds \ Vector :: remove ()

Esta função pode remover e retornar um valor por índice.

23

Ds \ Vector :: reverse ()

Esta função pode reverter o vetor no local.

24

Ds \ Vector :: reversed ()

Esta função pode retornar uma cópia revertida.

25

Ds \ Vector :: rotate ()

Esta função pode girar o verctor por um determinado número de rotações.

26

Ds \ Vector :: set ()

Esta função pode atualizar o valor em um determinado índice.

27

Ds \ Vector :: shift ()

Esta função pode remover e retornar o primeiro valor

28

Ds \ Vector :: fatia

Esta função pode retornar um subvetor do intervalo fornecido.

29

Ds \ Vector :: sort ()

Esta função pode classificar o vetor no local.

30

Ds \ Vector :: classificado ()

Esta função pode retornar uma cópia classificada.

31

Ds \ Vector :: sum ()

Esta função pode retornar a soma de todos os valores em um vetor.

32

Ds \ Vector :: toArray

Esta função pode converter o vetor em um array.

33

Ds \ Vector :: unshift

Esta função pode adicionar valores à frente de um vetor.