Estructuras de datos
SPL proporciona un conjunto de estructuras de datos estándar. Estas están agrupadas por su
implementación subyacente la cual usualmente define su campo de aplicación
general.
Listas doblemente enlazadas
Una Lista Doblemente Enlazada (DLL en inglés) es una lista de nodos enlazados entre ellos
en ambas direcciones. Las operaciones de iteración, acceso a ambos extremos, adición o
remoción de nodos tienen un costo de O(1) cuando la estructura subyacente es una DLL.
Por lo tanto, proporciona una implementación decente para pilas y colas.
SplDoublyLinkedList
SplStack
SplQueue
Montículos
Los montículos son estructuras de árboles que siguen la propiedad de los montículos: cada nodo
es mayor o igual que sus hijos, cuando son comparados utilizando el
método de comparación implementado, el cual es global al montículo.
SplHeap
SplMaxHeap
SplMinHeap
SplPriorityQueue
Arrays
Los array son estructuras que almacenan datos de una forma continua y accesible
mediante índices.
No deben confundirse con los arrays nativos de PHP.
Los array de PHP son en realidad tablas hash ordenadas.
Mientras que, SPL proporciona la clase ArrayObject
que envuelven los arrays de PHP en un objeto.
SplFixedArray
Mapa
Un mapa es una estructura de datos que contiene parejas de clave-valor. Los array de PHP pueden ser vistos como correspondencias (mapas) de enteros/string a valores. SPL proporciona una correspondencia de objetos a datos. Este mapa puede ser utilizado además como un conjunto de objetos.
SplObjectStorage
&reference.spl.spldoublylinkedlist;
&reference.spl.splstack;
&reference.spl.splqueue;
&reference.spl.splheap;
&reference.spl.splmaxheap;
&reference.spl.splminheap;
&reference.spl.splpriorityqueue;
&reference.spl.splfixedarray;
&reference.spl.arrayobject;
&reference.spl.splobjectstorage;