陣列和鍊錶的區別

2021-10-09 09:44:09 字數 353 閱讀 5389

兩種最基本的資料結構:陣列和鍊錶

1.讀取鍊錶最後乙個元素時,不能直接讀取,因為不知道它的位址,必須先訪問鍊錶的第乙個元素,從而獲取元素2的位址,以此類推,直到訪問到最後乙個元素;

2.隨機讀取元素時,陣列的效率很高,因為可以迅速地找到陣列中的任何元素。

1.在鍊錶中間插入元素只需修改它前面的那個元素指向的位址;

2.而使用陣列時,則必須將後面的元素向後移,如果沒有足夠的空間,可能還得將整個陣列複製到其他地方。

因此,需要在中間插入元素時,鍊錶是最好的選擇。

1.刪除元素時,鍊錶也是更好的選擇,因為只需要修改前乙個元素指向的位址即可;

2.而使用陣列刪除元素後,必須將後面的元素都向前移。

陣列和鍊錶區別

談到鍊錶與陣列的區別,可以從幾個不同的角度來談,首先從邏輯結構上說,兩者都是資料結構的一種,但存在區別,陣列是申請的一塊連續的記憶體空間,並且是在編譯階段就要確定空間大小的,同時在執行階段是不允許改變的,所以它不能夠隨著需要的改變而增加或減少空間大小,所以當資料量大的時候,有可能超出了已申請好的陣列...

陣列和鍊錶的區別

陣列與鍊錶的區別 1.基於空間的考慮 陣列的儲存空間是靜態,連續分布的,估計過大造成空間浪費,估計太小又將使空間溢位機會增多。而鍊錶的儲存空間是動態分布的,只要記憶體空間尚有空閒,就不會產生溢位 鍊錶中每個節點除了資料域外,還有指標域,儲存密度小於1 陣列為 儲存空間利用率就越高。2.基於時間的考慮...

陣列和鍊錶的區別

1 陣列的儲存空間是一大片連續的,鍊錶的儲存空間是不定的,每個鍊錶的節點元素都會儲存該節點的資料和下個節點的位址指向。陣列初使化必須制定大小,而鍊錶卻不需要便是這個原因。2 就增刪改查而言,陣列因為位址是連續的,所以陣列的查詢修改很快,但是增刪的時候由於需要移動後面所有的元素反而較慢,對應的鍊錶在查...