卡码网语言基础课 | 13. 链表的基础操作 I

2023-12-27,卡码网第13题链表的基础操作 I


目录

1.链表的定义

2.类和对象

2.1.类的定义和基础操作

2.2.链表创建

3.总结


实现目标:创建一个能够正常使用的单链表结构,并且具有加入新节点的功能

1.链表的定义

要想学会链表的基础操作,就需要知道什么是链表。那么,到底什么是链表?

链表,是编程语言中一种特殊的数据类型,与一般通常定义的字符串(string),列表(list)等数据类型不同,它将其内的数据有向的连接起来。链表内的单个数据单元叫节点(node),节点内存有两个类型的数据,一个是节点的(val),一个是指向下一个节点的地址(next)。这就意味着,若想找到指定节点,必须知晓指定节点以前的所有节点才能找到该节点。所以,通常会已知链表的头节点。

在python中,语句具体写法,如下图所示:

2.类和对象

2.1.类的定义和基础操作

想要在python中创建一个链表的数据类型,就需要使用到类和对象。

那么,在python中什么是类和对象。

类,意思与人类对物体分类的行为相一致,就是使用计算机的语言定义一个类别,该类别里放的都是具有相同类型的数据——同类型数据。与python自带的数据类型,如整形(int)浮点数(float)等相比,该方法能够让用户自定义数据类型。举个实际例子,如何用计算机语言定义人的类别?如下图:创造一个类,然后定义一些属性(身高、体重、年龄)等,只有拥有这些规定属性的实例才属于这个类。

定义了类后,就可以添加属于这个类的实例了。类的使用方法有些类似于函数调用,具体语法如下图所示。创建了两个属于人的实例,Tom和Jerry。最后使用格式化字符串(f-string)访问这两个实例。

2.2.链表创建

在知晓了python中的链表的定义和类的定义,就能够创建链表了。在创建链表时,首先需要明确链表需要定义单个节点整个链表结构。单个节点只包含两个属性,(val)和指向下一个节点的地址(next)。整个链表结构需要定义增加新节点输出等功能。这样才能成功的创建一个链表。

用代码构建链表时,应当注意以下几点:

  • 链表初始化时,应当是一个空链表,所以头节点为None,链表长度为0
  • 插入新节点时,应当将新节点接入链表尾部,所以第一步需要判断链表是否为空。如果为空,则应当把新节点赋给头节点。如果不为空,则使用循环找到链表尾部,然后接入新节点。
  • 所有语句写好,不要忘了在最后返回链表值。

这样,一个自定义链表就构建好了。接下来就是在调用了。

调用的时候需要注意的点就是不需要传参数的函数仍然要加圆括号,我第一次就因为没加,最后报错。

3.总结

链表,是一种特殊的数据结构,在需要使用链表的时候,通常需要自己构建。构建链表的基本思路就是构建节点和链表两个类,然后再在链表类中加入各种自定义函数以实现对链表操作所需的各种功能。


本人作用代码编辑器是VScode,网站为卡码网


卡码网KamaCodericon-default.png?t=N7T8https://kamacoder.com/

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴风雨使我安睡2580

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值