[python队列]用链表实现队列

本文介绍了如何使用链表和Python内置函数两种方式实现队列数据结构,重点强调了队列的先进先出特性。通过定义头结点并分别指向队首和队尾,确保插入和删除操作的时间复杂度为O(1)。
摘要由CSDN通过智能技术生成

队列是一种先进先出的线性表
在这里插入图片描述
我们定义如下的链表来实现队列数据结构:

在这里插入图片描述
定义一个头结点,左边指向队列的开头,右边指向队列的末尾,这样就可以保证我们插入一个元素和取出一个元素都是O(1)的操作。

方法一,用链表实现程序如下:

# 定义一个头结点,左边指向队列的开头,
# 右边指向队列的末尾,保证我们插入一个元素和取出一个元素都是O(1)的操作
class Head:
    def __init__(self):
        self.left = None
        self.right = None


class Node:
    def __init__(self, value):
        self.value = value
        self.next = None


class Queue:
    def __init__(self):
        # 初始化节点
        self.head = Head()

    def enqueue(self, value):
        # 插入元素,先新建一个结点
        newnode = Node(value)
        p = self.head
        if p.right:
            # 如果head结点的右边不为None
            # 说明队列中已经有元素了

            temp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值