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

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

本文详细解析了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 相关产品和应用

全部下载

专题列表