循環隊列的入隊操作,讓你的代碼更加高效!
一、循環隊列的基本概念
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
中,可以使用列表來實現循環隊列。循環隊列的入隊操作需要考慮隊列是否已滿,如果隊列已滿,則無法插入新元素;否則,將新元素插入到隊尾,并將隊尾指針后移一位。