队也是编程开发中常见的一种数据结构。栈和队可用来模拟函数的递归过程。队的特点为先入先出,主要操作包括入队和出队。入队时需判断队是否已满,出队时需判断队是否为空。下面给出一个队的python实现的例子:
class Queue(object): def __init__(self, size = 8): self.queue = [] self.size = size self.front = 0 self.rear = -1 def isFull(self): return True if self.rear == self.size - 1 else False def isEmpty(self): return True if self.rear == -1 else False def push(self, data): if self.isFull(): raise Exception("QueueOverFlow") self.queue.append(data) self.rear += 1 def pop(self): if self.isEmpty(): raise Exception("QueueIsEmpty") self.rear -= 1 return self.queue.pop(self.front) def first(self): return self.queue[self.front] def last(self): return self.queue[self.rear] def show(self): print self.queue