Python-队列

来源:互联网 发布:进化算法和遗传算法 编辑:程序博客网 时间:2024/04/26 13:58

当队列中没有元素时,head和tail都是-1,

这里写图片描述

当进如一个元素时,如下图,此时tail加1,也就是inQueue函数中self.tail += 1
这里写图片描述

class Queue(object):    """docstring for Queue"""    def __init__(self,size):        self.queue = []        self.size = size        self.head = -1         self.tail = -1    def inQueue(self,data):        if self.is_full():            print("Queue is full")        else:            self.queue.append(data)            self.tail += 1    def outQueue(self,data):        if self.is_empty():            print("Queue is empty")        else:            self.head += 1    def is_empty(self):        if self.head == self.tail:            return True        else:            return False    def is_full(self):        if self.tail - self.head + 1 == self.size:            return True        else:            return Falseq = Queue(5)q.inQueue(1)q.outQueue(1)print(q.is_empty())