數(shù)據(jù)結(jié)構(gòu)入隊(duì)出隊(duì)原則 循環(huán)隊(duì)列中入隊(duì)與出隊(duì)算法?
循環(huán)隊(duì)列中入隊(duì)與出隊(duì)算法?如果循環(huán)隊(duì)列的每個(gè)元素都有兩個(gè)指針,一個(gè)指向前一個(gè)元素ppre,另一個(gè)指向后一個(gè)元素pnext,那么out和queue in對將修改指針。例如,如果指向要退出組的元素的指針是
循環(huán)隊(duì)列中入隊(duì)與出隊(duì)算法?
如果循環(huán)隊(duì)列的每個(gè)元素都有兩個(gè)指針,一個(gè)指向前一個(gè)元素ppre,另一個(gè)指向后一個(gè)元素pnext,那么out和queue in對將修改指針。
例如,如果指向要退出組的元素的指針是pdel,則退出組應(yīng)為:
pdel->pnext->pnext=pdel->pnext
pdel->pnext->pnext=pdel->ppre
如果循環(huán)隊(duì)列的每個(gè)元素只有一個(gè)指向以下元素的指針pnext,則需要遍歷整個(gè)隊(duì)列找到要出列的元素的前一個(gè)元素,然后它與上面的算法幾乎相同。
如果經(jīng)常需要執(zhí)行出列操作,建議在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí)為每個(gè)元素使用兩個(gè)指針。