從邏輯結構來看,
1.數組必須預先定義固定長度(元素數量),這無法適應數據的動態增加或減少。當數據增加時,可能會超過最初定義的元素數量;當數據減少時,內存被浪費;可以根據下標直接訪問數組。
2.鏈表動態分配存儲,可以適應數據的動態增減,可以方便地插入和刪除數據項。(在數組中插入或刪除數據項時,移動其他數據項非常復雜。)鏈表必須根據下壹個指針找到下壹個元素。
從記憶存儲的角度來看
1.(靜態)數組從堆棧中分配空間,這對程序員來說方便快捷,但自由度很小。
2.鏈表從堆中分配空間,有很大的自由度,但是應用管理比較麻煩。
從上面的比較可以看出,如果您需要快速訪問數據並很少或根本不插入和刪除元素,則應該使用數組;相反,如果需要頻繁地插入和刪除元素,則需要使用鏈表數據結構。