Python实现队列的方法示例小结【数组,链表】

何川
何川
发布时间:2026-10-13| 2人浏览过
原创

本文详细解析了Python中队列(FIFO)的两种主流实现方式:利用内置列表方法和自定义链表结构。通过代码示例展示了入队(enqueue)与出队(dequeue)的具体操作逻辑,包括列表的append/pop(0)以及链表头尾节点的管理机制,帮助开发者深入理解队列原理并应用于实际开发。

Python队列实现概述

本文详细介绍Python中队列的实现方法,提供相关代码示例供参考学习。

Python实现队列

队列遵循先进先出(FIFO)原则,元素从队列尾部添加,从队列头部移除。

  • 使用Python列表实现队列:借助Python列表内置方法进行操作。

基于列表的队列实现

具体代码实现如下:

列表队列代码示例


# 列表实现队列
class listQueue(object):
  def __init__(self):
    self.items = []

  def is_empty(self):
    return self.items == None

  def size(self):
    return len(self.items)

  # 入队
  def enqueue(self, value):
    return self.items.append(value)

  # 出队
  def dequeue(self):
    if self.is_empty():
      raise Exception("queue is empty !")
    return self.items.pop(0)

  • 使用链表实现队列:

在链式队列的实现中,入队(enqueue)操作类似于在链表尾部添加节点;出队(dequeue)操作则类似于从链表头部删除节点。

初始化队列时,定义头节点(head)和尾节点(tail)两个特殊节点,以便高效执行入队和出队操作。

基于链表的队列实现

具体代码实现如下:

链表队列代码示例


# 链表实现队列
class linkedQueue(object):
  class Node(object):
    def __init__(self, value=None):
      self.value = value
      self.next = None

  def __init__(self):
    self.head = None
    self.tail = None
    #self.head.next = self.tail
    self.length = 0

  def is_empty(self):
    return self.length == 0

  def size(self):
    return self.length

  def enqueue(self, value):
    node = self.Node(value)
    if self.is_empty():
      self.head = node
    else:
      self.tail.next = node
    self.tail = node
    self.length += 1

  def dequeue(self):
    if self.is_empty():
      raise Exception("queue is empty !")
    item = self.head.value
    self.head = self.head.next
    self.length -= 1
    print("出队列元素为:",item)
    return item

link = linkedQueue()
link.enqueue(1)
link.enqueue(2)
link.enqueue(3)
link.enqueue(4)
print("队列长度为:",link.size())
link.dequeue()
link.dequeue()

程序运行输出结果如下:

队列长度为: 4 出队列元素为: 1 出队列元素为: 2

如果您对Python其他技术感兴趣,可查阅本站相关专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》。

希望本文提供的队列实现方案能对您的Python编程实践有所帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。