知行编程网知行编程网  2022-11-16 15:00 知行编程网 隐藏边栏  30 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中链表怎么表示?的相关知识,希望可以帮到处于编程学习途中的小伙伴

如何在python中表示链表?


一:链表

常见的线性列表是数组和链表。链表可以分为单链表、双链表和循环链表。今天,我们主要进行与单链表相关的操作,包括链表的增删查改、链表的反转、链表的连接。


二:链表 & 数组

作为一种数据结构,链表与数组相比有哪些优缺点?


优点:

链表不占用连续内存,使用离散内存存储数据;该数组使用连续内存。

增删数据时,原始数据的移动很小;而数组需要大量移动原始数据(想象一下:如果在数组中间插入一个元素,那么数组的后半部分必须向后移动一个单位)

不足:

链表在查询和遍历数据时速度较慢,不像数组可以直接使用索引来访问某个数据。


三:链表的表示


节点类

我们知道链表是​​由节点连接的,所以我们先创建一个节点类

# Student类(节点类)         一个Student对象就是一个节点
class Student:
    def __init__(self,SchNum,name,score):
        self.SchNum = SchNum
        self.name = name
        self.score = score
        self.next = None


链表类

链表需要的属性有:头节点、尾节点、链表大小

# 链表类
class Link:
    # 构造函数
    def __init__(self):
        self.head = Student(None,None,None)            # 头节点为空
        self.tail = self.head
        self.size = 1

创建链表后,我们还需要对其进行增删改查等操作。如果一个链表连这些功能都不能实现,那么它就不是很有用了。


四、增加元素

添加元素就是在链表的末尾添加一个新节点。要添加节点,我们需要以下步骤:

将链表尾节点的下一个节点指向新节点

将新节点作为尾节点

链表的长度+1

# 添加节点
    def add(self,SchNum,name,score):
        stu = Student(SchNum,name,score)        # 创建新节点
        self.tail.next = stu                    # 尾节点的下一个节点为新节点
        self.tail = stu                         # 尾节点为新节点
        self.size = self.size +

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享