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. | 
