循环队列基本操作实现python
时间: 2024-06-22 16:03:05 浏览: 194
循环队列的基本操作和实现
4星 · 用户满意度95%
循环队列是线性数据结构的一种特殊形式,它在队尾和队头之间形成一个循环,当队列满时,新的元素会从队头开始添加,而不会溢出。在Python中,可以通过列表(list)来模拟循环队列的基本操作,因为列表提供了索引和切片功能。
下面是一个简单的循环队列实现:
```python
classCircularQueue:
def __init__(self, capacity):
self.queue = [None] * capacity
self.front = -1
self.rear = -1
# 判断队列是否为空
def is_empty(self):
return self.front == -1 and self.rear == -1
# 判断队列是否已满
def is_full(self):
if (self.rear + 1) % len(self.queue) == self.front:
return True
return False
# 入队(enqueue)
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) % len(self.queue)
self.queue[self.rear] = item
# 出队(dequeue)
def dequeue(self):
if self.is_empty():
print("Queue is empty")
return
removed_item = self.queue[self.front]
if self.front == self.rear:
self.front = self.rear = -1
else:
self.front = (self.front + 1) % len(self.queue)
return removed_item
# 获取队首元素,不删除
def get_front(self):
if self.is_empty():
print("Queue is empty")
return None
return self.queue[self.front]
# 获取队尾元素,不删除
def get_rear(self):
if self.is_empty():
print("Queue is empty")
return None
return self.queue[self.rear]
```
阅读全文