使用 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
。
点我分享笔记