數(shù)據(jù)結(jié)構(gòu)單循環(huán)鏈表 單鏈表和循環(huán)單鏈表,鏈表為空的條件分別是?
單鏈表和循環(huán)單鏈表,鏈表為空的條件分別是?判斷是否有循環(huán)的方法:對(duì)于任何節(jié)點(diǎn),判斷其下一個(gè)值是否與上一個(gè)節(jié)點(diǎn)的地址相同。如果有相同的,就有一個(gè)循環(huán)??真湵恚阂龑?dǎo)單鏈表:head->next==nu
單鏈表和循環(huán)單鏈表,鏈表為空的條件分別是?
判斷是否有循環(huán)的方法:
對(duì)于任何節(jié)點(diǎn),判斷其下一個(gè)值是否與上一個(gè)節(jié)點(diǎn)的地址相同。如果有相同的,就有一個(gè)循環(huán)。
空鏈表:
引導(dǎo)單鏈表:head->next==null
不引導(dǎo)單鏈表:list==null
引導(dǎo)循環(huán)鏈表:head->next==head
不引導(dǎo)循環(huán)鏈表:list==null
單鏈表缺少2113點(diǎn),它只能前進(jìn),不能再回到5261了。雖然有循環(huán)單鏈表,但后面4102的成本還是很高的1653,需要跑一圈。這時(shí),雙向列表應(yīng)運(yùn)而生,再加上循環(huán),也就是雙向循環(huán)列表就更好了。所謂雙向鏈表,就是在前導(dǎo)節(jié)點(diǎn)上加一個(gè)指針,雙向循環(huán)鏈表把最后一個(gè)節(jié)點(diǎn)的后繼指針指向頭節(jié)點(diǎn)。訪問(wèn)方式:?jiǎn)捂湵恚喝绻L問(wèn)任何節(jié)點(diǎn),只能從頭到尾訪問(wèn)。單循環(huán)鏈表:您可以從任何節(jié)點(diǎn)開(kāi)始,并從末端訪問(wèn)到任何節(jié)點(diǎn)。雙向鏈表:您可以從任何節(jié)點(diǎn)開(kāi)始,并從頭到尾訪問(wèn)它。單鏈表和單循環(huán)鏈表:只能在當(dāng)前節(jié)點(diǎn)之后插入和刪除雙鏈表:可以在當(dāng)前節(jié)點(diǎn)之前或之后插入,也可以刪除之前和之后的存儲(chǔ)(包括節(jié)點(diǎn)本身):?jiǎn)捂湵砗蛦窝h(huán)鏈表的存儲(chǔ)密度較高比雙鏈表