選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP 如何操作 W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

DSA 連結串列

連結串列顧名思義,是一種節點相互連結的列表。每個節點包含資料和一個指標。它們相互連結的方式是每個節點指向記憶體中下一個節點的位置。

連結串列

連結串列由包含一些資料和指向下一個節點的指標或連結的節點組成。

A singly linked list.

使用連結串列的一個巨大好處是,節點可以儲存在記憶體中任何可用的空間,節點不必像陣列中的元素那樣連續儲存在一起。連結串列的另一個好處是,在新增或刪除節點時,列表中的其他節點不必移動。


連結串列與陣列

理解連結串列最好的方法也許是將其與陣列進行比較。

連結串列由我們自己建立的節點組成,是一種線性資料結構,而陣列是程式語言中已有的、我們可以使用的現有資料結構。

連結串列中的節點儲存指向其他節點的連結,但陣列元素不需要儲存指向其他元素的連結。

注意:連結串列和陣列在記憶體中的儲存方式將在 下一頁 中更詳細地解釋。

下表將連結串列與陣列進行比較,以更好地理解連結串列。

陣列 連結串列
程式語言中已有的資料結構
記憶體中固定大小
元素或節點在記憶體中緊鄰地儲存(連續地)
記憶體使用率低
(每個節點只包含資料,沒有指向其他節點的連結)
元素或節點可以直接訪問(隨機訪問)
元素或節點可以在常數時間內插入或刪除,無需在記憶體中進行移位操作。

為了更詳細地解釋這些區別,下一頁將重點介紹連結串列和陣列在記憶體中的儲存方式。


DSA 練習

透過練習來測試自己

練習

連結串列中的節點是什麼?

Each node in a Linked List 
contains , and a  
to where the next node 
is placed in memory.

開始練習



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援