鏈表是一種常見的基礎數(shù)據(jù)結構,是一種線性表,是一種物理存儲單元上非連續(xù)、非順序的存儲結構。鏈表由一系列結點組成,結點可以在運行時動態(tài)生成。每個結點包括存儲數(shù)據(jù)元素的數(shù)據(jù)域和存儲下一個結點地址的指針域兩個部分。相比于線性表順序結構,操作復雜。數(shù)據(jù)元素的邏輯順序也是通過鏈表中的指針鏈接次序實現(xiàn)的。
線性表的鏈式存儲表示的特點是用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素。因此,為了表示每個數(shù)據(jù)元素與其直接后繼數(shù)據(jù)元素之間的邏輯關系,對數(shù)據(jù)元素來說,除了存儲其本身的信息之外,還需存儲一個指示其直接后繼的信息。由這兩部分信息組成一個結點,表示線性表中一個數(shù)據(jù)元素。線性表的鏈式存儲表示,有一個缺點就是要找一個數(shù),必須要從頭開始找起,十分麻煩。
1、鏈表解決數(shù)組無法存儲多種數(shù)據(jù)類型的問題。
2、鏈表解決數(shù)組中,元素個數(shù)無法改變的限制。
3、數(shù)組移動元素的過程中,要對元素進行大范圍的移動,很耗時間,效率也不高。