PHP数据结构有几种
在PHP中数据结构共有9种,PHP有着非常强大的SPL标准库,其中提供了一套标准的数据结构,分别是双向链表,栈,队列,堆,最大堆,最小堆,优先列队,阵列,映射。
双向链表:SplDoublyLinkedList
双链表是一种重要的线性存储结构,对于双链表中的每个节点,不仅仅存储自己的信息,还要保存前驱和后继节点的地址
栈:SplStack
栈是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈)
队列:SplQueue
SplQueue 类通过使用一个双向链表来提供队列的主要功能。
堆:SplHeap
堆(Heap)就是为了实现优先队列而设计的一种数据结构,它是通过构造二叉堆(二叉树的一种)实现。
最大堆:SplMaxHeap
SplMaxHeap类提供堆的主要功能,将最大值保持在顶部。
最小堆:SplMinHeap
SplMinHeap类提供堆的主要功能,将最小值保持在顶部。
优先列队:SplPriorityQueue
SplPriorityQueue是以堆数据结构来实现的,当我们出队时会拿出堆顶的元素,此时堆的特性被破坏,堆会进行相应的调整至稳定态(MaxHeap or MinHeap),即会将最后一个元素替换到堆顶,然后进行稳定态验证,不符合堆特性则继续调整,或者我们就得到了一个稳定态的堆,所以当优先级相同,出队顺序并不会按照入队顺序。
阵列:SplFixedArray
SplFixedArray与普通的PHP Array不同,它是以数字为键名的固定长度的数组,它没有使用散列(Hash)存储方式,更接近于C语言的数组,因此效率更高。
映射:SplObjectStorage
SplObjectStorage类实现了对象存储映射表,应用于需要唯一标识多个对象的存储场景。
推荐教程:《PHP教程》