
# 先进先出
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):
q.enqueue(i)
q.showQueue()
for i in range(3):
q.dequeue()
q.showQueue()
print(q.isempty())