python链表实现及一些操作

本文介绍了如何在Python中设计和实现单链表,包括Node结构、链表操作如插入、删除,以及如何通过扩展增加last链接域来优化末尾操作的时间复杂度。文章还讨论了环链表的概念,并提供了相关测试案例。
摘要由CSDN通过智能技术生成

1.设计Node结构,包括一个元素域(elem)和链接域(next)

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

2.设计单链表结构,由Node节点构成

class List(object):
    # 初始化
    def __init__(self):
        self.head=None

    #判断是否为空 True为空,False为不空
    def is_empty(self):
        return self.head is None

    #首端添加
    def preappend(self,elem):
        p=Node(elem)
        p.next=self.head
        self.head=p
        # self.head=Node(elem,self.head)

    #首端删除
    def prepop(self):
        if self.is_empty() is False:
            e=self.head.elem
            self.head=self.head.next
            return e

    #从小到大排序
    def sort(self):
        if self.head is None:
            return
        q=self.head.next#从第二个Node开始比较
        while q is not None:
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值