鏈表是另外的一種數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
鏈表是由多個(gè)節(jié)點(diǎn)組成骤视,單個(gè)節(jié)點(diǎn)由數(shù)據(jù)區(qū)和鏈接區(qū)組成。鏈表第一個(gè)節(jié)點(diǎn)叫頭結(jié)點(diǎn)胁编,最后一個(gè)節(jié)點(diǎn)叫做尾節(jié)點(diǎn)厢钧。
1疙咸、單鏈表:?jiǎn)雾?xiàng)鏈表铜涉,鏈表中除了尾節(jié)點(diǎn)外,每個(gè)節(jié)點(diǎn)指向下個(gè)節(jié)點(diǎn)沉填。節(jié)點(diǎn)指向的方向唯一
單鏈表的ADT:
單鏈表和順序表的區(qū)別
鏈表最大優(yōu)點(diǎn)是可以最大程度利用操作系統(tǒng)的分散內(nèi)存市框,但是由于它的特殊存儲(chǔ)方式導(dǎo)致訪問(wèn)元素的時(shí)間復(fù)雜度高于順序表霞扬。
2、單項(xiàng)循環(huán)鏈表:指的尾節(jié)點(diǎn)的next指向頭結(jié)點(diǎn)枫振,其他與單項(xiàng)鏈表一致
3喻圃、雙向鏈表,節(jié)點(diǎn)由數(shù)據(jù)區(qū)粪滤、前驅(qū)節(jié)點(diǎn)斧拍、后繼節(jié)點(diǎn)。數(shù)據(jù)區(qū)定義該節(jié)點(diǎn)數(shù)據(jù)杖小、前驅(qū)節(jié)點(diǎn)定義前一個(gè)節(jié)點(diǎn)的地址肆汹,后繼節(jié)點(diǎn)記錄后一個(gè)節(jié)點(diǎn)的地址。
4予权、代碼實(shí)現(xiàn):
節(jié)點(diǎn)類:單項(xiàng)鏈表節(jié)點(diǎn)類定義只需要定義元素?cái)?shù)據(jù)和指向下一個(gè)節(jié)點(diǎn)的指針县踢。雙向鏈表還需要定義指向前一個(gè)節(jié)點(diǎn)的指針
單鏈表實(shí)現(xiàn)