我正在通过代码在python中写一个循环队列。
class CircularQueue:
# constructor for the class
# taking input for the size of the Circular queue
# from user
def __init__(self, maxSize):
self.queue = list()
# user input value for maxSize
self.maxSize = maxSize
self.head = 0
self.tail = 0
# add element to the queue
def enqueue(self, data):
# if queue is full
if self.size() == (self.maxSize - 1):
return("Queue is full!")
else:
# add element to the queue
self.queue.append(data)
# increment the tail pointer
self.tail = (self.tail+1) % self.maxSize
return True
而让我困惑的是 "enqueue "方法中的self.size()。
我看了一下python文档,没有看到任何size()函数,只在numpy中提到了size()。
通常你会想调用len()来计算一个列表的大小,但我知道你不能使用self.len()
任何关于写这样的东西背后的语法和逻辑的澄清解释将是有帮助的!
你需要定义自己的size()方法,只需返回队列中当前持有的物品数量。