陣列和鍊錶的優缺點

2021-06-15 05:46:23 字數 632 閱讀 2549

array與list,使指資料結構概念上的陣列與鍊錶的優缺點吧. 

如果指的是array類(或介面)與list介面的優缺點的話,就不好理解了.

陣列,在記憶體上給出了連續的空間.鍊錶,記憶體位址上可以是不連續的,每個鍊錶的節點包括原?吹哪詿婧拖亂桓黿詰愕男畔?單向的乙個,雙向鍊錶的話,會有兩個).

陣列優於鍊錶的:

2.陣列內的資料可隨機訪問.但鍊錶不具備隨機訪問性.這個很容易理解.陣列在記憶體裡是連續的空間.比如如果乙個陣列位址從100到200,且每個元素占用兩個位元組,那麼100-200之間的任何乙個偶數都是陣列元素的位址.可以直接訪問.鍊錶在記憶體位址可能是分散的.所以必須通過上一節點中的資訊找能找到下乙個節點.

3.查詢速度上.這個也是因為記憶體位址的連續性的問題.不羅索了.

鍊錶優於陣列的:

1.插入與刪除的操作.如果陣列的中間插入乙個元素,那麼這個元素後的所有元素的記憶體位址都要往後移動.刪除的話同理.只有對資料的最後乙個元素進行插入刪除操作時,才比較快.鍊錶只需要更改有必要更改的節點內的節點資訊就夠了.並不需要更改節點的記憶體位址.

3.鍊錶的擴充套件性比陣列好.因為乙個陣列建立後所占用的空間大小就是固定的.如果滿了就沒法擴充套件.只能新建乙個更大空間的陣列.而鍊錶不是固定的,可以很方便的擴充套件.

陣列和鍊錶的優缺點

陣列,在記憶體上給出了連續的空間。鍊錶,記憶體位址上可以是不連續的,每個鍊錶的節點包括原來的記憶體和下乙個節點的資訊 單向的乙個,雙向鍊錶的話,會有兩個 a.記憶體空間占用的少,因為鍊錶節點會附加上一塊或兩塊下乙個節點的資訊。但是陣列在建立時就固定了。所以也有可能會因為建立的陣列過大或不足引起記憶體...

陣列和鍊錶的優缺點比較

1 陣列在記憶體中是逐個存放的,也就是說倘若陣列的第乙個元素在位址 a,則陣列第二個元素就在位址 a 1。而鍊錶則不是,鍊錶每個節點沒有相對固定的位置關係。某個節點在位址a 其後的節點不一定是 a 1,而在記憶體的其他空閒區域,呈現一種隨機的狀態。2 陣列一旦顯式的被申明後,其大小就固定了,不能動態...

鍊錶與陣列的優缺點

陣列是將元素在記憶體中連續存放,由於每個元素占用記憶體相同,可以通過下標迅速訪問陣列中任何元素。但是如果要 在陣列中增加乙個元素,需要移動大量元素,在記憶體中空出乙個元素的空間,然後將要增加的元素放在其中。同樣的 道理,如果想刪除乙個元素,同樣需要移動大量元素去填掉被移動的元素。如果應用需要快速訪問...