PHP - Funzioni vettoriali
Il vettore è una sequenza di valori in un buffer contiguo che cresce e si riduce automaticamente. È la struttura sequenziale più efficiente perché l'indice del valore è una mappatura diretta al suo indice in un buffer e il fattore di crescita non è vincolato a un multiplo o esponente specifico.
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.
- La capacità non deve essere una potenza di 2.
- get (), set (), push (), pop () sono tutti O (1).
Debolezze
- shift (), unshift (), insert () e remove () sono tutti O (n).
Sinossi della classe
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 ] )
}
Costanti predefinite
Ds \ Vector :: MIN_CAPACITY
Suor n | Descrizione della funzione |
---|---|
1 | Questa funzione può allocare memoria sufficiente per la capacità richiesta. |
2 | Questa funzione può aggiornare tutti i valori applicando una funzione di callback a ciascun valore. |
3 | Questa funzione può restituire la capacità corrente. |
4 | Questa funzione può rimuovere tutti i valori. |
5 | Ds \ Vector :: __ costrutto () Questa funzione può creare una nuova istanza. |
6 | Questa funzione può determinare se un vettore contiene valori dati. |
7 | Questa funzione può restituire una copia superficiale del vettore. |
8 | Questa funzione può essere utilizzata per contare il numero di elementi in un vettore. |
9 | Questa funzione può creare un nuovo vettore usando callable per determinare quali valori includere. |
10 | Questa funzione può restituire il primo valore in un vettore. |
11 | Questa funzione può restituire un valore a un dato indice. |
12 | Questa funzione può inserire i valori in un dato indice. |
13 | Questa funzione può restituire se il vettore è vuoto. |
14 | Questa funzione può unire tutti i valori insieme come una stringa. |
15 | Questa funzione può restituire una rappresentazione che può essere convertita in JSON. |
16 | Questa funzione può restituire un ultimo valore |
17 | Questa funzione può restituire il risultato dell'applicazione di un callback a ciascun valore. |
18 | Questa funzione può restituire il risultato dell'aggiunta di tutti i valori dati a una sequenza. |
19 | Questa funzione può rimuovere e restituire l'ultimo valore. |
20 | Questa funzione può aggiungere valori alla fine di un vettore. |
21 | Questa funzione può ridurre il vettore a un singolo valore utilizzando la funzione di callback. |
22 | Questa funzione può rimuovere e restituire un valore in base all'indice. |
23 | Questa funzione può invertire il vettore sul posto. |
24 | Questa funzione può restituire una copia inversa. |
25 | Questa funzione può ruotare il verctor di un dato numero di rotazioni. |
26 | Questa funzione può aggiornare il valore a un dato indice. |
27 | Questa funzione può rimuovere e restituire il primo valore |
28 | Questa funzione può restituire un sub-vettore dell'intervallo dato. |
29 | Questa funzione può ordinare il vettore sul posto. |
30 | Questa funzione può restituire una copia ordinata. |
31 | Questa funzione può restituire la somma di tutti i valori in un vettore. |
32 | Questa funzione può convertire il vettore in un array. |
33 | Questa funzione può aggiungere valori all'inizio di un vettore. |