Структуры данных
SPL предоставляет набор стандартных структур данных. Они
сгруппированы здесь по своей базовой реализации, которая
обычно определяет их общую область применения.
Двусвязные списки
Двусвязный список (DLL) - это список узлов, связанных в обоих направлениях
друг с другом. Операции итератора, доступ к обоим концам, добавление или
удаление узлов стоимостью O(1), когда основная структура является DLL.
Следовательно, они обеспечивает хорошую реализацию для стеков и очередей.
SplDoublyLinkedList
SplStack
SplQueue
Кучи
Кучи - это древовидные структуры, которые следуют свойствам кучи: каждый узел
больше или равен своим потомкам, при этом для сравнения используется
внедрённый метод сравнения, который является общим для всей кучи.
SplHeap
SplMaxHeap
SplMinHeap
SplPriorityQueue
Массивы
Массивы – структуры, которые хранят данные в непрерывном виде, доступные
через индексы.
Не путайте их с типом PHP array.
Массивы PHP являются упорядоченными хеш-таблицами.
Однако SPL предоставляет класс ArrayObject,
чтобы обернуть PHP-массивы в объект.
SplFixedArray
Карта
Карта - это структура данных, содержащая пары ключ-значение.
Массивы PHP можно рассматривать как карты, отображающие целые/строковые данные в их значения. SPL предоставляет карту, отображающую объекты к данным. Эта карта также может
быть использована как множество объектов.
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;