Python实现队列:支持插入、弹出、判空、查询队头元素
Python实现队列:支持插入、弹出、判空、查询队头元素
本文介绍如何使用Python实现队列数据结构,并提供完整的代码示例。
什么是队列?
队列是一种先进先出(FIFO)的数据结构,类似于现实生活中的排队。元素从队尾插入,从队头删除。
功能需求:
实现一个队列,初始为空,支持以下四种操作:
push x– 向队尾插入一个数 x;2.pop– 从队头弹出一个数;3.empty– 判断队列是否为空;4.query– 查询队头元素。
**代码实现:**pythonclass Queue: def init(self): self.queue = [] def push(self, x): # 在列表尾部插入元素,模拟队尾入队 self.queue.append(x) def pop(self): # 判断队列是否为空 if not self.empty(): # 删除并返回列表头部元素,模拟队头出队 return self.queue.pop(0) def empty(self): # 判断列表长度是否为0 return len(self.queue) == 0 def query(self): # 判断队列是否为空 if not self.empty(): # 返回列表头部元素,即队头元素 return self.queue[0] # 主函数if name == 'main': M = int(input()) queue = Queue() for _ in range(M): operation = input().split() if operation[0] == 'push': queue.push(int(operation[1])) elif operation[0] == 'pop': queue.pop() elif operation[0] == 'empty': if queue.empty(): print('YES') else: print('NO') elif operation[0] == 'query': front = queue.query() if front is not None: print(front)
代码解释:
-
Queue类: 定义队列类,包含队列的基本操作方法。 -__init__:初始化队列,使用Python列表存储队列元素。 -push(x):将元素x插入队尾,使用append()方法在列表末尾添加元素。 -pop():弹出队头元素,使用pop(0)方法删除并返回列表第一个元素。 -empty():判断队列是否为空,通过检查列表长度是否为 0 实现。 -query():查询队头元素,直接返回列表的第一个元素。 -
主函数: - 读取操作次数
M。 - 创建Queue对象。 - 循环读取操作命令,根据命令调用Queue对象的对应方法,并输出结果。
示例:
输入:
10push 6emptyquerypopemptypush 3push 4popquerypush 6
输出:
NO6YES4
总结:
本文介绍了使用Python实现队列数据结构的方法,并提供了详细的代码示例和解释。希望对你理解队列有所帮助!
原文地址: https://www.cveoy.top/t/topic/cnWL 著作权归作者所有。请勿转载和采集!