單鏈表中刪除節(jié)點(diǎn) 雙鏈表的插入與刪除操作?
雙鏈表的插入與刪除操作?//定義插入:S->prior=P->prior->next=SS->next=PP->prior=S//第一句必須在第四句之前完成,否則*P的前導(dǎo)節(jié)點(diǎn)將丟
雙鏈表的插入與刪除操作?
//定義插入:S->prior=P->prior->next=SS->next=PP->prior=S//第一句必須在第四句之前完成,否則*P的前導(dǎo)節(jié)點(diǎn)將丟失。Delete:P->prior->next=P->next->prior=P->prior free(P)//繞過(guò)P!node*delete(node*head){node*q long num1=2,num2=7q=head,而(q->next){if(q->next->stu.num>num1&&q-&下一步->stu.num和ltnum2){q->next=q->next->next}其他Q=Q->next}return head}
訪問(wèn)方式:?jiǎn)捂湵恚喝绻L問(wèn)任何節(jié)點(diǎn),每次只能按順序從開(kāi)始向后訪問(wèn)單循環(huán)鏈表:您可以從任何節(jié)點(diǎn)開(kāi)始,按順序訪問(wèn)任何節(jié)點(diǎn)雙向鏈表:可以從任何節(jié)點(diǎn)開(kāi)始,任意向前向后雙向訪問(wèn)操作:?jiǎn)捂湵砗蛦窝h(huán)鏈表:只能在當(dāng)前節(jié)點(diǎn)后插入和刪除雙鏈表:可以在當(dāng)前節(jié)點(diǎn)前后插入,可刪除前向和后向(包括節(jié)點(diǎn)自身)存儲(chǔ):?jiǎn)捂湵砗蛦窝h(huán)鏈表的存儲(chǔ)密度大于雙鏈表
優(yōu)點(diǎn)是表的插入不需要長(zhǎng)時(shí)間“拖拽”指針即可完成錄入和刪除,還可以遍歷表的前序和后序
單鏈表缺少的2113點(diǎn)是它只能前進(jìn),但不能后退5261。雖然有循環(huán)單鏈表,但向后4102的成本還是很高的1653,需要運(yùn)行一個(gè)循環(huán)。這時(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ǔ)密度較高比雙鏈表