基础数据结构 之 队列(python实现)

队也是编程开发中常见的一种数据结构。栈和队可用来模拟函数的递归过程。队的特点为先入先出,主要操作包括入队和出队。入队时需判断队是否已满,出队时需判断队是否为空。下面给出一个队的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

 

你可能感兴趣的:(python)