鏈表是一種上一個元素的引用指向下一個元素的存儲結構,鏈表通過指針來連接元素與元素;
鏈表是線性表的一種,所謂的線性表包含順序線性表和鏈表,順序線性表是用數組實現的,在內存中有順序排列,通過改變數組大小實現。而鏈表不是用順序實現的,用指針實現,在內存中不連續。意思就是說,鏈表就是將一系列不連續的內存聯系起來,將那種碎片內存進行合理的利用,解決空間的問題。
鏈表允許插入和刪除表上任意位置上的節點,但是不允許隨即存取。鏈表有很多種不同的類型:單向鏈表、雙向鏈表及循環鏈表。
不同:鏈表是鏈式的存儲結構;數組是順序的存儲結構。
鏈表通過指針來連接元素與元素,數組則是把所有元素按次序依次存儲。
鏈表的插入刪除元素相對數組較為簡單,不需要移動元素,且較為容易實現長度擴充,但是尋找某個元素較為困難;
數組尋找某個元素較為簡單,但插入與刪除比較復雜,由於最大長度需要再編程一開始時指定,故當達到最大長度時,擴充長度不如鏈表方便。
相同:兩種結構均可實現數據的順序存儲,構造出來的模型呈線性結構。