特點:
1、採用動態儲存分配,不會造成記憶體浪費和溢位;
2、連結串列執行插入和刪除操作十分方便,修改指標即可,不需要移動大量元素。
簡介:
連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是透過連結串列中的指標連結次序實現的。
連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域,相比於線性表順序結構,操作複雜。
特點:
1、採用動態儲存分配,不會造成記憶體浪費和溢位;
2、連結串列執行插入和刪除操作十分方便,修改指標即可,不需要移動大量元素。
簡介:
連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是透過連結串列中的指標連結次序實現的。
連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域,相比於線性表順序結構,操作複雜。
1、基於儲存的考慮
順序表的儲存空間是靜態分配的,在程式執行之前必須明確規定它的儲存規模,事先對“MAXSIZE”要有合適的設定,。如果對線性表的長度或儲存規模難以估計時,不宜採用順序表;連結串列不用事先估計儲存規模,但連結串列的儲存密度較低。
2、基於操作的考慮
在順序表中按序號訪問元素的時間效能為O(1),而連結串列中按序號訪問的時間效能是O(n),所以如果經常做的運算是按序號訪問資料元素,顯然順序表優於連結串列;在連結串列中作插入、刪除,也要找插入位置,但是比較操作,顯然連結串列較優。
3、基於開發的語言考慮
順序表容易實現,任何高階語言中都有陣列型別,連結串列的操作是基於指標的,有些語言不支援指標型別,並且相對指標來講順序表較簡單。總之,兩種儲存結構各有長短,選擇那一種儲存方式應由實際問題決定。通常“較穩定”的線性表選擇順序儲存,而頻繁做插入刪除的即動態性較強的線性表宜選擇鏈式儲存。
連結串列不具備的特點是可隨機訪問任何一個元素。如果要訪問連結串列中的元素,必須從連結串列的頭進行遍歷,尋找要訪問的元素,而不像陣列那樣可以透過指定下標來訪問。
連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是透過連結串列中的指標連結次序實現的。