分析
![在这里插入图片描述](https://img-blog.csdnimg.cn/ce7eab17420c423dbd139a735de00a42.png#pic_center)
代码
class Queue:
def __init__(self,size):
self.items = [None]*size
self.size =size
self.head = 0
self._length = 0
def is_empty(self):
return self._length ==0
def length(self):
return self._length
def push(self, item):
if self.length() == self.size:
raise ValueError("队列已满")
else:
idx = (self.head + self.length()) % self.size
self.items[idx] = item
self._length += 1
def pop(self):
if self.is_empty():
raise ValueError("队列为空")
else:
value = self.items[self.head]
self.head = (self.head +1) % self.size
self._length -= 1
return value
def peek(self):
if self.is_empty():
raise ValueError("队列为空")
return self.items[self.head]
if __name__ == "__main__":
queue = Queue(3)
queue.push(1)
queue.push(2)
queue.push(3)
print(queue.pop())
queue.push(4)
print(queue.length())
print(queue.peek())
print(queue.pop())
print(queue.pop())
print(queue.pop())
print(queue.items)
结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/e5aa7e30706d4dedb1dac66b19bc334c.png)