Python实现队列:支持插入、弹出、判空、查询队头元素

本文介绍如何使用Python实现队列数据结构,并提供完整的代码示例。

什么是队列?

队列是一种先进先出(FIFO)的数据结构,类似于现实生活中的排队。元素从队尾插入,从队头删除。

功能需求:

实现一个队列,初始为空,支持以下四种操作:

  1. 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)

代码解释:

  1. Queue: 定义队列类,包含队列的基本操作方法。 - __init__:初始化队列,使用Python列表存储队列元素。 - push(x):将元素 x 插入队尾,使用 append() 方法在列表末尾添加元素。 - pop():弹出队头元素,使用 pop(0) 方法删除并返回列表第一个元素。 - empty():判断队列是否为空,通过检查列表长度是否为 0 实现。 - query():查询队头元素,直接返回列表的第一个元素。

  2. 主函数: - 读取操作次数 M。 - 创建 Queue 对象。 - 循环读取操作命令,根据命令调用 Queue 对象的对应方法,并输出结果。

示例:

输入:

10push 6emptyquerypopemptypush 3push 4popquerypush 6

输出:

NO6YES4

总结:

本文介绍了使用Python实现队列数据结构的方法,并提供了详细的代码示例和解释。希望对你理解队列有所帮助!

Python实现队列:支持插入、弹出、判空、查询队头元素

原文地址: https://www.cveoy.top/t/topic/cnWL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录