Python的循环队列如何设置
时间: 2023-06-11 07:04:56 浏览: 109
如何实现循环队列
Python 中可以使用列表(List)来实现循环队列,可以通过以下步骤来实现:
1. 定义一个固定大小的列表,作为循环队列的实现容器。
2. 定义一个队列头指针和一个队列尾指针,分别指向循环队列的头部和尾部。
3. 入队时,如果队列未满,则将元素插入到队列尾部,并将队列尾指针指向下一个位置(若已达到列表的末尾,则指向列表的第一个位置)。
4. 出队时,如果队列非空,则将队列头指针指向下一个位置,并返回队头元素。
5. 可以使用队列长度(队尾指针 - 队头指针)作为队列大小。
以下是一个基本实现示例(假设最大队列长度为 N):
```python
class CircularQueue:
def __init__(self, N):
self.queue = [None] * N # 实现循环队列的列表
self.head = 0 # 队列头指针
self.tail = 0 # 队列尾指针
self.size = 0 # 队列大小
def enqueue(self, x):
if self.size == len(self.queue):
raise Exception("Queue is full")
self.queue[self.tail] = x
self.tail = (self.tail + 1) % len(self.queue)
self.size += 1
def dequeue(self):
if self.size == 0:
raise Exception("Queue is empty")
x = self.queue[self.head]
self.head = (self.head + 1) % len(self.queue)
self.size -= 1
return x
```
阅读全文