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