Funzioni di rimozione di PHP
Il Deque è una sequenza di valori in un buffer contiguo che può crescere e ridursi automaticamente. È un'abbreviazione comune di "coda doppia" e può essere utilizzata internamente da Ds \ Queue.
È possibile utilizzare due indicatori per tenere traccia di una testa e di una coda. I puntatori possono avvolgere la fine di un buffer che evita la necessità di spostare altri valori per fare spazio. Questo può rendere molto veloce un cambio e un cambio di marcia.
L'accesso a un valore per indice può richiedere una traduzione tra un indice e la sua posizione corrispondente nel buffer: ((head + position)% capacity).
Punti di forza
- Supporta la sintassi degli array (parentesi quadre).
- Utilizza meno memoria complessiva di un array per lo stesso numero di valori.
- Libera automaticamente la memoria allocata quando le sue dimensioni si riducono abbastanza.
- get (), set (), push (), pop (), shift () e unshift () sono tutti O (1).
Debolezze
- La capacità deve essere una potenza di 2.
- insert () e remove () sono O (n).
Sintassi
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 ] )
}
Costanti predefinite
Ds \ Deque :: MIN_CAPACITY
Suor n | Descrizione della funzione |
---|---|
1 | Funzione Ds \ Deque :: allocate () Questa funzione può allocare memoria sufficiente per una capacità richiesta. |
2 | Funzione Ds \ Deque :: apply () Questa funzione può aggiornare tutti i valori applicando una funzione di callback a ciascun valore. |
3 | Funzione Ds \ Deque :: capacity () Questa funzione può restituire la capacità corrente. |
4 | Funzione Ds \ Deque :: clear () Questa funzione può rimuovere tutti i valori dal deque. |
5 | Funzione Ds \ Deque :: contains () Questa funzione può determinare se la deque contiene valori dati. |
6 | Funzione Ds \ Deque :: __ construct () Questa funzione può creare una nuova istanza. |
7 | Funzione Ds \ Deque :: copy () Questa funzione può restituire una copia superficiale del deque. |
8 | Funzione Ds \ Deque :: count () Questa funzione può essere utilizzata per ottenere il numero di elementi nel Deque. |
9 | Funzione Ds \ Deque :: filter () Questa funzione può creare una nuova deque utilizzando il callable per determinare quali valori includere. |
10 | Funzione Ds \ Deque :: find () Questa funzione può tentare di trovare l'indice di un valore. |
11 | Funzione Ds \ Deque :: first () Questa funzione può restituire il primo valore nel deque. |
12 |
Questa funzione può restituire il valore a un dato indice. |
13 | Funzione Ds \ Deque :: insert () Questa funzione può inserire i valori in un dato indice. |
14 | Funzione Ds \ Deque :: isEmpty () Questa funzione può restituire se il deque è vuoto. |
15 | Funzione Ds \ Deque :: join () Questa funzione può unire tutti i valori insieme come una stringa. |
16 | Funzione Ds \ Deque :: jsonSerialize () Questa funzione può restituire una rappresentazione che può essere convertita in JSON. |
17 | Funzione Ds \ Deque :: last () Questa funzione può restituire l'ultimo valore. |
18 |
Questa funzione può restituire il risultato dell'applicazione di un callback a ciascun valore. |
19 | Funzione Ds \ Deque :: merge () Questa funzione può restituire il risultato dell'aggiunta di tutti i valori dati al deque. |
20 |
Questa funzione può rimuovere e restituire l'ultimo valore. |
21 | Funzione Ds \ Deque :: push () Questa funzione può aggiungere valori a una fine della deque. |
22 | Funzione Ds \ Deque :: reduce () Questa funzione può ridurre la deque a un singolo valore utilizzando una funzione di callback. |
23 | Funzione Ds \ Deque :: remove () Questa funzione può rimuovere e restituire un valore in base all'indice. |
24 | Funzione Ds \ Deque :: reverse () Questa funzione può invertire il deque sul posto. |
25 | Funzione Ds \ Deque :: reversed () Questa funzione può restituire una copia inversa. |
26 | Funzione Ds \ Deque :: rotate () Questa funzione può ruotare la deque di un dato numero di rotazioni. |
27 |
Questa funzione può aggiornare il valore a un dato indice. |
28 | Funzione Ds \ Deque :: shift () Questa funzione può rimuovere e restituire il primo valore. |
29 | Funzione Ds \ Deque :: slice () Questa funzione può restituire la sotto-coppia di un dato intervallo. |
30 | Funzione Ds \ Deque :: sort () Questa funzione può ordinare il deque sul posto. |
31 | Funzione Ds \ Deque :: Sort () Questa funzione può restituire una copia ordinata. |
32 |
Questa funzione può restituire la somma di tutti i valori nel deque. |
33 | Funzione Ds \ Deque :: toArray () Questa funzione può convertire il deque in un array. |
34 | Funzione Ds \ Deque :: unshift () Questa funzione può aggiungere valori all'inizio della deque. |