如果循环队列的每个元素都有两个指针,一个指向前一个元素ppre,另一个指向后一个元素pnext,那么out和queuein对将修改指针。
例如,如果指向要退出组的元素的指针是pdel,则退出组应为:
pdel->pnext->pnext=pdel->pnext
pdel->pnext->pnext=pdel->ppre
如果循环队列的每个元素只有一个指向以下元素的指针pnext,则需要遍历整个队列找到要出列的元素的前一个元素,然后它与上面的算法几乎相同。
如果经常需要执行出列操作,建议在设计数据结构时为每个元素使用两个指针。
循环队列:在固定存储空间(内存中的顺序存储空间,相当于一个数组)中实现队列的fifo功能
!一个指针指向团队的头部,另一个指针指向团队的尾部
!一次一个元素:将此元素放在队列指针的末尾,并向指针地址添加1。如果超过了存储空间边界的末尾,它就指向存储空间中的第一个位置
所谓堆栈,即先进先出顺序;team,是先进先出顺序放入堆栈,堆栈顺序是gfedcba,反向堆栈,先进先出,后进先出顺序放入team,team顺序是abcdefg,即团队顺序