python定义一个长度为n的循环队列
时间: 2024-09-22 15:00:22 浏览: 58
在Python中,我们可以使用内置的`collections.deque`(双端队列)数据结构来模拟循环队列,因为deque支持在其两端添加和删除元素,这正是循环队列的特点。这里是一个简单的例子,定义一个长度为n的循环队列:
```python
from collections import deque
class CircularQueue:
def __init__(self, n):
self.queue = deque(maxlen=n)
def enqueue(self, item):
if len(self.queue) == n:
print("Queue is full, can't add more elements.")
else:
self.queue.append(item)
def dequeue(self):
if not self.is_empty():
return self.queue.popleft()
else:
print("Queue is empty, nothing to dequeue.")
def is_empty(self):
return len(self.queue) == 0
# 使用示例
cq = CircularQueue(5)
cq.enqueue(1)
cq.enqueue(2)
cq.dequeue() # 输出: 1
```
在这个实现中,当我们试图向已满的队列添加元素时会打印提示,从队列中删除元素时需要检查是否为空。
阅读全文