Constantes predefinidas
SplDoublyLinkedList
SPL
PHP Manual

# Datastructures

## Table of Contents

- The SplDoublyLinkedList class
- The SplStack class
- The SplQueue class
- The SplHeap class
- The SplMaxHeap class
- The SplMinHeap class
- The SplPriorityQueue class
- The SplFixedArray class
- The SplObjectStorage class

SPL provides a set of standard datastructures. They are grouped here by their underlying implementation which usually defines their general field of application.

## Doubly Linked Lists

A Doubly Linked List (DLL) is a list of nodes linked in both directions to each others. Iterator's operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.

- SplDoublyLinkedList
  - SplStack
  - SplQueue

## Heaps

Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.

- SplHeap
  - SplMaxHeap
  - SplMinHeap
- SplPriorityQueue

## Arrays

Arrays are structures that store the data in a continuous way, accessible via indexes. Don't confuse them with PHP arrays: PHP arrays are in fact implemented as ordered hashtables.

- SplFixedArray

## Map

A map is a datastructure holding key-value pairs. PHP arrays can be seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can aswell be used as a object set.

- SplObjectStorage

Constantes predefinidas
SplDoublyLinkedList
SPL
PHP Manual