所谓队列
队列是有序集合,添加操作发生在“尾部”,移除操作则发生在“头部”。
新元素从尾部进入 队列,然后一直向前移动到头部,直到成为下一个被移除的元素。
新添加的元素必须在队列的尾部等待,在队列中时间长的元素则排在前面。
这种排序 原则被称作 FIFO(first-in first-out),即先进先出,也称先到先得。
队列抽象数据类型
Queue() 创建一个空队列。它不需要参数,且会返回一个空队列。
enqueue(item) 在队列的尾部添加一个元素。它需要一个元素作为参数,不返回任何值。
dequeue() 从队列的头部移除一个元素。它不需要参数,且会返回一个元素,并修改队列的内容。
isEmpty() 检查队列是否为空。它不需要参数,且会返回一个布尔值。
size() 返回队列中元素的数目。它不需要参数,且会返回一个整数。
用 Python 实现队列
class Queue:
def init(self):
self.queue = []
def isEmpty(self):
return self.queue == []
def enqueue(self, item):
self.queue.append(item)
def dequeue(self):
if not self.queue:
return None
else:
return self.queue.pop(0)
def size(self):
return len(self.queue)
q = Queue()
print(q.isEmpty())