數(shù)據(jù)結(jié)構(gòu)

目錄

SPL 提供了一套標準的數(shù)據(jù)結(jié)構(gòu)。它們按底層實現(xiàn)進行分組, 通常定義了它們的一般應(yīng)用領(lǐng)域。

雙向鏈表

雙鏈表 (DLL) 是一個鏈接到兩個方向的節(jié)點列表。當?shù)讓咏Y(jié)構(gòu)是 DLL 時, 迭代器的操作、對兩端的訪問、節(jié)點的添加或刪除都具有 O (1) 的開銷。因此, 它為棧和隊列提供了一個合適的實現(xiàn)。

堆是遵循堆屬性的樹狀結(jié)構(gòu): 每個節(jié)點都大于或等于其子級, 使用對堆全局的已實現(xiàn)的比較方法進行比較。

數(shù)組

數(shù)組是以連續(xù)方式存儲數(shù)據(jù)的結(jié)構(gòu), 可通過索引進行訪問。不要將它們與 php 數(shù)組混淆: php 數(shù)組實際上是按照有序的列表實現(xiàn)的。

映射

映射是一個數(shù)據(jù)擁有鍵值對。PHP 數(shù)組可以被看作是從整數(shù)/字符串到值的映射。SPL 提供了從對象到數(shù)據(jù)的映射。此映射也可用作對象集。