首頁 >後端開發 >PHP問題 >php的鍊錶是什麼意思

php的鍊錶是什麼意思

青灯夜游
青灯夜游原創
2022-02-11 19:13:282469瀏覽

在php中,鍊錶是一種基礎資料結構,是一種線性表;鍊錶會動態地進行儲存分配,可以適應資料動態增減的情況,且可以方便地插入、刪除資料項。鍊錶有三種不同的類型:單向鍊錶,雙向鍊錶以及循環鍊錶。

php的鍊錶是什麼意思

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php中的鍊錶

鍊錶(Linked list)是一種常見的基礎資料結構,是一種線性表,但是並不會以線性的順序儲存數據,而是在每一個節點裡存到下一個節點的指針(Pointer)。

鍊錶動態地進行儲存分配,可以適應資料動態地增減的情況,且可以方便地插入、刪除資料項。 (數組中插入、刪除資料項時,需要移動其它資料項,非常繁瑣)鍊錶必須根據next指標找到下一個元素。

使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用電腦記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了數組隨機讀取的優點,同時鍊錶由於增加了結點的指標域,空間開銷比較大。

鍊錶有三種不同的類型:單向鍊錶,雙向鍊錶以及循環鍊錶。

單向鍊錶

單向鍊錶包含兩個域,一個資訊域和一個指標域。這個連結指向列表中的下一個節點,而最後一個節點則指向一個空值。

如圖:

php的鍊錶是什麼意思

雙向鍊錶

每個節點有兩個連接:一個指向前一個節點,(當此「連接」為第一個「連接」時,指向空值或空列表);而另一個指向下一個節點,(當此「連接」為最後一個「連接」時,指向空值或空列表)

如圖:

php的鍊錶是什麼意思

循環鍊錶

在一個循環鍊錶中,首節點和末節點被連結在一起。這種方式在單向和雙向鍊錶中皆可實現。要轉換一個循環鍊錶,你開始於任一個節點然後沿著列表的任一方向直到返回開始的節點。再來看另一種方法,循環鍊錶可以被視為「無頭無尾」。這種列表很利於節約資料儲存緩存,假定你在一個列表中有一個物件並且希望所有其他物件迭代在一個非特殊的排列下。指向整個清單的指標可以被稱為存取指標。

php的鍊錶是什麼意思

推薦學習:《PHP影片教學

以上是php的鍊錶是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn