python循环队列
时间: 2023-11-06 09:07:55 浏览: 60
循环队列是一种特殊的队列数据结构,它允许在队列的前端和后端进行插入和删除操作。当队列的末尾达到了队列的最大容量时,插入操作会从队列的前端继续进行,形成一个循环。这种设计可以使队列的空间得到最大的利用。
在Python中,可以使用列表来实现循环队列。可以通过指定一个固定的队列大小,在列表中循环前进和后退来模拟循环队列的操作。插入元素时,可以通过取模运算来确定元素应该插入的位置。删除元素时,可以通过移动头指针来实现。
下面是一个简单的Python代码示例,演示了如何实现循环队列的基本操作:
```python
class CircularQueue:
def __init__(self, k):
self.size = 0
self.capacity = k
self.queue = [None] * k
self.front = 0
self.rear = -1
def enqueue(self, value):
if self.is_full():
return False
self.rear = (self.rear + 1) % self.capacity
self.queue[self.rear] = value
self.size += 1
return True
def dequeue(self):
if self.is_empty():
return False
value = self.queue[self.front]
self.front = (self.front + 1) % self.capacity
self.size -= 1
return value
def is_empty(self):
return self.size == 0
def is_full(self):
return self.size == self.capacity
```