在python中实现顺序循环队列
时间: 2024-10-18 15:23:14 浏览: 32
在Python中,我们可以使用内置的数据结构`list`来简单地实现一个顺序循环队列。循环队列的特点是队尾之后接上队头,当队列满时,新的元素会覆盖掉第一个元素的位置,形成一种"循环"的效果。
下面是一个基本的顺序循环队列的实现示例:
```python
class CircularQueue:
def __init__(self, capacity):
self.queue = [None] * capacity
self.front = -1 # 队头指针
self.rear = -1 # 队尾指针
self.capacity = capacity
def is_empty(self):
return self.front == -1
def is_full(self):
return (self.rear + 1) % self.capacity == self.front
def enqueue(self, item):
if self.is_full():
print("Queue is full.")
return
if self.is_empty():
self.front = 0
self.rear = 0
else:
self.rear = (self.rear + 1) % self.capacity
self.queue[self.rear] = item
def dequeue(self):
if self.is_empty():
print("Queue is empty.")
return None
dequeued_item = self.queue[self.front]
if self.front == self.rear:
self.front = self.rear = -1
else:
self.front = (self.front + 1) % self.capacity
return dequeued_item
# 使用例子
queue = CircularQueue(5)
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
print(queue.dequeue()) # 输出 1
```
阅读全文