编写一个循环队列 取队头元素
时间: 2023-09-14 13:09:59 浏览: 71
设以数组se[m]存放循环队列的元素,同时设变量rear 和front分别作为队头队尾指针,且队头指针指向队头前一个位置,写出这样设计的循环队列入队和出队算法。
5星 · 资源好评率100%
循环队列是一种特殊的队列,它可以将队列头和队列尾相连形成一个环形队列,可以有效地利用存储空间,并且可以避免队列头和队列尾的频繁移动。
以下是一个简单的循环队列的实现,包含了取队头元素的操作:
```python
class CircularQueue:
def __init__(self, capacity):
self.capacity = capacity
self.front = 0
self.rear = 0
self.size = 0
self.queue = [None] * capacity
def is_empty(self):
return self.size == 0
def is_full(self):
return self.size == self.capacity
def enqueue(self, data):
if self.is_full():
raise Exception("Queue is full")
self.queue[self.rear] = data
self.rear = (self.rear + 1) % self.capacity
self.size += 1
def dequeue(self):
if self.is_empty():
raise Exception("Queue is empty")
data = self.queue[self.front]
self.queue[self.front] = None
self.front = (self.front + 1) % self.capacity
self.size -= 1
return data
def get_front(self):
if self.is_empty():
raise Exception("Queue is empty")
return self.queue[self.front]
```
上述实现中,使用了一个数组来存储队列元素,同时记录了队列的容量、队头、队尾、队列大小等信息。取队头元素的操作只需要返回队头元素即可,具体实现可以参考上述代码中的 get_front 方法。
阅读全文