# 先进先出 class Queue(): def __init__(self,size): self.size=size self.front=-1 #队列前面的指针 self.rear=-1 #队列后面的指针 #类中设置两个属性分别为front和rear来模拟队列的头尾指针,通过它们值的关系可以判定队列是空还是满 self.queue=[] ## 入队操作 def enqueue(self,ele): if self.isfull(): print("queue is full") else: self.queue.append(ele) self.rear=self.rear+1 ## 出队操作 def dequeue(self): if self.isempty(): print("queue is empty") else: self.queue.pop(0) self.front=self.front+1 def isfull(self): if self.rear - self.front + 1 == self.size : return True else: return False def isempty(self): if self.front == self.rear: return True else: return False def showQueue(self): print(self.queue) if __name__ == '__main__': q = Queue(10) for i in range(6): #print(i) q.enqueue(i) q.showQueue() for i in range(3): q.dequeue() q.showQueue() print(q.isempty())