2023-12-27,卡码网第13题链表的基础操作 I
目录
实现目标:创建一个能够正常使用的单链表结构,并且具有加入新节点的功能
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,网站为卡码网