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

目錄

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

雙向鏈表

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

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

數(shù)組

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

映射

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