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

Funzione Ds \ Deque :: get ()

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

Funzione Ds \ Deque :: map ()

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

Funzione Ds \ Deque :: pop ()

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

Funzione Ds \ Deque :: set ()

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

Funzione Ds \ Deque :: sum ()

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.