使用 Python 实现一个简单的队列(Queue)类
队列(Queue)是一种先进先出(FIFO)的数据结构。我们可以使用 Python 的列表来实现一个简单的队列类。这个类将包含以下几个基本操作:
enqueue(item):将元素添加到队列的末尾。dequeue():移除并返回队列的第一个元素。is_empty():检查队列是否为空。size():返回队列中元素的数量。
实例
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
if self.is_empty():
return None
return self.items.pop(0)
def size(self):
return len(self.items)
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
if self.is_empty():
return None
return self.items.pop(0)
def size(self):
return len(self.items)
代码解析:
__init__方法初始化一个空列表items,用于存储队列中的元素。is_empty方法检查队列是否为空,如果items列表为空则返回True,否则返回False。enqueue方法将元素item添加到items列表的末尾。dequeue方法移除并返回items列表的第一个元素。如果队列为空,则返回None。size方法返回items列表的长度,即队列中元素的数量。
输出结果:
实例
# 示例使用
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
print(q.dequeue()) # 输出: 1
print(q.size()) # 输出: 2
print(q.is_empty()) # 输出: False
q = Queue()
q.enqueue(1)
q.enqueue(2)
q.enqueue(3)
print(q.dequeue()) # 输出: 1
print(q.size()) # 输出: 2
print(q.is_empty()) # 输出: False
在这个示例中,我们首先创建了一个队列 q,然后依次将元素 1、2 和 3 加入队列。接着,我们调用 dequeue 方法移除并返回队列的第一个元素 1。最后,我们检查队列的大小和是否为空,分别输出 2 和 False。
Python3 实例
点我分享笔记