赞
踩
对于普通顺序队列,可能队列提示已满,但其实队头还有空位置,这时候就可以考虑用循环顺序队列,把新元素放在队头的空闲位置。循环顺序队列中的元素恒为(rear-front+MaxQueueSize)%MaxQueueSize,其中队空的条件为front = rear;队满的条件为front = (rear+1)%MaxQueueSize。
需要注意的是虽然如此,队头与队尾依旧还是front+1和rear位置,这就使得依旧是先进先出,没有违背原则。
class CircularSequenceQueue():
def __init__(self):
self.MaxQueueSize = 10
self.s = [None for x in range(0,self.MaxQueueSize)]
self.front = 0
self.rear = 0
'''当前队列是否为空'''
def IsEmptyQueue(self):
if self.front == self.rear:
iQueue =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。