數(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對(duì)將修改指針。例如,如果指向要退出組的元素的指針是
循環(huán)隊(duì)列中入隊(duì)與出隊(duì)算法?
如果循環(huán)隊(duì)列的每個(gè)元素都有兩個(gè)指針,一個(gè)指向前一個(gè)元素ppre,另一個(gè)指向后一個(gè)元素pnext,那么out和queue in對(duì)將修改指針。
例如,如果指向要退出組的元素的指針是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è)指針。
什么是循環(huán)隊(duì)列的入隊(duì)運(yùn)算和退隊(duì)運(yùn)算?(好難理解?。?/h2>
循環(huán)隊(duì)列:在固定存儲(chǔ)空間(內(nèi)存中的順序存儲(chǔ)空間,相當(dāng)于一個(gè)數(shù)組)中實(shí)現(xiàn)隊(duì)列的FIFO功能
!一個(gè)指針指向團(tuán)隊(duì)的頭部,另一個(gè)指針指向團(tuán)隊(duì)的尾部
!一次一個(gè)元素:將此元素放在隊(duì)列指針的末尾,并向指針地址添加1。如果超過(guò)了存儲(chǔ)空間邊界的末尾,它就指向存儲(chǔ)空間中的第一個(gè)位置
所謂堆棧,即先進(jìn)先出順序;team,是先進(jìn)先出順序放入堆棧,堆棧順序是gfedcba,反向堆棧,先進(jìn)先出,后進(jìn)先出順序放入team,team順序是ABCDEFG,即團(tuán)隊(duì)順序