Queue(队列)是一种先进先出(FIFO, First In First Out)的数据结构。它允许在一端(称为队尾)添加元素,在另一端(称为队头)移除元素。队列的基本操作包括入队(enqueue)和出队(dequeue)。
下面是一个简单的Python示例,展示如何创建一个Queue类并从第一个到最后一个打印内部的元素:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
if not self.is_empty():
return self.items.pop(0)
else:
raise IndexError("Dequeue from empty queue")
def size(self):
return len(self.items)
# 示例使用
queue = Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
while not queue.is_empty():
print(queue.dequeue())
pop(0)
操作的时间复杂度为O(n),效率较低。collections.deque
来实现队列,deque
的popleft()
操作时间复杂度为O(1)。collections.deque
来实现队列,deque
的popleft()
操作时间复杂度为O(1)。通过上述代码和解释,你应该能够理解如何创建一个Queue类,并有效地从第一个到最后一个打印内部的元素。
领取专属 10元无门槛券
手把手带您无忧上云