Queues#

A Queue is defined as a linear data structure that is open at both ends and the operations are performed in First In First Out (FIFO) order.

../_images/queues.png

Queue的操作#

  • 入队(enqueue)操作:将元素加入队尾。时间复杂度:O(1)

  • 出队(dequeue)操作:从队头弹出元素。时间复杂度:O(1)

  • 查看队头元素(peek)操作:返回队头元素,但不弹出。时间复杂度:O(1)

  • 判断队列是否为空(isEmpty)操作:判断队列是否为空。时间复杂度:O(1)

 1class Queue:
 2    def __init__(self):
 3        self.items = []
 4
 5    def enqueue(self, item):
 6        self.items.append(item)
 7
 8    def dequeue(self):
 9        if not self.is_empty():
10            return self.items.pop(0)
11
12    def peek(self):
13        if not self.is_empty():
14            return self.items[0]
15
16    def is_empty(self):
17        return len(self.items) == 0
18
19    def size(self):
20        return len(self.items)