2025年环形队列的实现(环形队列使用场景)

环形队列的实现(环形队列使用场景)循环队列 是一种特殊的队列 它可以在固定大小的空间内实现队列的基本操作 在 Python 中 我们可以使用 list 来实现循环队列 下面是一个使用 list 实现循环队列 的例子 class MyCircularQu def init self k int Initialize your data

大家好,我是讯享网,很高兴认识大家。

循环队列是一种特殊的队列,它可以在固定大小的空间内实现队列的基本操作。在Python中,我们可以使用list来实现循环队列。下面是一个使用list实现循环队列例子


讯享网

class MyCircularQueue: def __init__(self, k: int): """ Initialize your data structure here. Set the size of the queue to be k. """ self.queue = [0] * k self.head = 0 self.tail = 0 self.max_size = k def enQueue(self, value: int) -> bool: """ Insert an element into the circular queue. Return true if the operation is successful. """ if self.isFull(): return False self.queue[self.tail] = value self.tail = (self.tail + 1) % self.max_size return True def deQueue(self) -> bool: """ Delete an element from the circular queue. Return true if the operation is successful. """ if self.isEmpty(): return False self.head = (self.head + 1) % self.max_size return True def Front(self) -> int: """ Get the front item from the queue. """ if self.isEmpty(): return -1 return self.queue[self.head] def Rear(self) -> int: """ Get the last item from the queue. """ if self.isEmpty(): return -1 return self.queue[(self.tail - 1 + self.max_size) % self.max_size] def isEmpty(self) -> bool: """ Checks whether the circular queue is empty or not. """ return self.head == self.tail def isFull(self) -> bool: """ Checks whether the circular queue is full or not. """ return (self.tail + 1) % self.max_size == self.head 

讯享网

在这个例子中,我们使用了一个list来存储队列元素,同时使用head和tail两个指针来指示队列的头和尾。当队列满时,我们可以通过tail指针的位置来判断队列是否已满。当队列为空时,我们可以通过head和tail指针的位置来判断队列是否为空。在入队和出队操作中,我们需要更新head和tail指针的位置,并且需要使用取模运算来实现循环队列的特性。

小讯
上一篇 2025-06-01 13:29
下一篇 2025-05-24 16:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/175633.html