一、循环队列的基本概念
ttt指向队列的个元素。
实现循环队列
实现循环队列的代码
class Circularueueitt)
self.k = ke] k
self.head = self.tail = -1
queuet) ->bool
if self.isFull() Falsepty()
self.head = self.tail = 0
else
self.tail = (self.tail + 1) % self.k
self.queue[self.tail] = value True
def dequeue(self) ->boolpty() False
if self.head == self.tail
self.head = self.tail = -1
else
self.head = (self.head + 1) % self.k True
ttpty() -1 self.queue[self.head]
tpty() -1 self.queue[self.tail]
pty(self) ->bool self.head == -1
def isFull(self) ->bool (self.tail + 1) % self.k == self.head
三、循环队列的入队操作
实现循环队列入队操作的代码
queuet) ->bool
if self.isFull() Falsepty()
self.head = self.tail = 0
else
self.tail = (self.tail + 1) % self.k
self.queue[self.tail] = value True
中,可以使用列表来实现循环队列。循环队列的入队操作需要考虑队列是否已满,如果队列已满,则无法插入新元素;否则,将新元素插入到队尾,并将队尾指针后移一位。