Funções PHP Deque
O Deque é uma sequência de valores em um buffer contíguo que pode aumentar e diminuir automaticamente. É uma abreviatura comum de “fila dupla” e pode ser usada internamente por Ds \ Queue.
Dois ponteiros podem ser usados para rastrear uma cabeça e uma cauda. Os ponteiros podem envolver o final de um buffer, o que evita a necessidade de mover outros valores para criar espaço. Isso pode fazer uma mudança e não mudar muito rapidamente.
Acessar um valor por índice pode exigir uma tradução entre um índice e sua posição correspondente no buffer: ((cabeça + posição)% capacidade).
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.
- get (), set (), push (), pop (), shift () e unshift () são todos O (1).
Fraquezas
- A capacidade deve ser uma potência de 2.
- insert () e remove () são O (n).
Sintaxe
Ds\Deque implements Ds\Sequence {
/* Constants */
const int MIN_CAPACITY = 8 ;
/* 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\Deque copy( void )
public Ds\Deque 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\Deque map( callable $callback )
public Ds\Deque 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\Deque reversed( void )
public void rotate( int $rotations )
public void set( int $index , mixed $value )
public mixed shift( void )
public Ds\Deque slice( int $index [, int $length ] )
public void sort([ callable $comparator ] )
public Ds\Deque sorted([ callable $comparator ] )
public number sum( void )
public array toArray( void )
public void unshift([ mixed $values ] )
}
Constantes Predefinidas
Ds \ Deque :: MIN_CAPACITY
Sr. Não | Descrição da função |
---|---|
1 | Função Ds \ Deque :: allocate () 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 | Função Ds \ Deque :: capacity () Esta função pode retornar a capacidade atual. |
4 |
Esta função pode remover todos os valores do deque. |
5 | Função Ds \ Deque :: contains () Esta função pode determinar se o deque contém valores dados. |
6 | Função Ds \ Deque :: __ construct () Esta função pode criar uma nova instância. |
7 |
Esta função pode retornar uma cópia superficial do deque. |
8 |
Esta função pode ser usada para obter o número de elementos no Deque. |
9 | Função Ds \ Deque :: filter () Essa função pode criar um novo deque usando o chamável para determinar quais valores incluir. |
10 |
Esta função pode tentar encontrar o índice de um valor. |
11 |
Esta função pode retornar o primeiro valor no deque. |
12 |
Esta função pode retornar o valor em um determinado índice. |
13 | Função Ds \ Deque :: insert () Esta função pode inserir os valores em um determinado índice. |
14 | Função Ds \ Deque :: isEmpty () Esta função pode retornar se o deque está vazio. |
15 |
Esta função pode juntar todos os valores como uma string. |
16 | Função Ds \ Deque :: jsonSerialize () Esta função pode retornar uma representação que pode ser convertida em JSON. |
17 |
Esta função pode retornar o último valor. |
18 |
Esta função pode retornar o resultado da aplicação de um retorno de chamada a cada valor. |
19 |
Esta função pode retornar o resultado da adição de todos os valores fornecidos ao deque. |
20 |
Esta função pode remover e retornar o último valor. |
21 |
Esta função pode adicionar valores ao final do deque. |
22 | Função Ds \ Deque :: reduce () Esta função pode reduzir o deque a um único valor usando uma função de retorno de chamada. |
23 | Função Ds \ Deque :: remove () Esta função pode remover e retornar um valor por índice. |
24 | Função Ds \ Deque :: reverse () Esta função pode reverter o deque no local. |
25 | Função Ds \ Deque :: reversed () Esta função pode retornar uma cópia revertida. |
26 | Função Ds \ Deque :: rotate () Esta função pode girar o deque por um determinado número de rotações. |
27 |
Esta função pode atualizar o valor em um determinado índice. |
28 |
Esta função pode remover e retornar o primeiro valor. |
29 |
Esta função pode retornar o sub-deque de um determinado intervalo. |
30 |
Esta função pode classificar o deque no local. |
31 |
Esta função pode retornar uma cópia classificada. |
32 |
Esta função pode retornar a soma de todos os valores no deque. |
33 | Função Ds \ Deque :: toArray () Esta função pode converter o deque em um array. |
34 | Função Ds \ Deque :: unshift () Esta função pode adicionar valores à frente do deque. |