千锋教育-做有情怀、有良心、有品质的职业教育机构

python中链表怎么表示?

来源:千锋教育
发布时间:2023-11-09 13:37:26
分享

一:链表

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

二:链表&数组

链表作为数据结构的一种,与数组相比,它有什么优点与不足呢?

优点:

链表不占用连续的内存,采用离散的内存存储数据;数组采用一段连续的内存。

在添加和删除数据时,对原有数据的移动较小;而数组则需要大量移动原有的数据(试想:如果在数组的中间插入一个元素,那么数组的后半部分都要往后移动一个单位)

不足:

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

三:链表的表示

节点类

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

#Student类(节点类)一个Student对象就是一个节点

classStudent:

def__init__(self,SchNum,name,score):

self.SchNum=SchNum

self.name=name

self.score=score

self.next=None

链表类

一个链表所需的属性有:头节点、尾节点、链表大小

#链表类

classLink:

#构造函数

def__init__(self):

self.head=Student(None,None,None)#头节点为空

self.tail=self.head

self.size=1

创建了链表我们还需要对它进行增、删、改、查等操作。如果一个链表连这些功能都无法实现的话,那么它的用处也就不大了。

四、增加元素

增加元素是将一个新的节点增加在链表的尾部,要增加一个节点,我们需要一下步骤:

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

将新节点作为尾节点

链表的长度+1

#添加节点

defadd(self,SchNum,name,score):

stu=Student(SchNum,name,score)#创建新节点

self.tail.next=stu#尾节点的下一个节点为新节点

self.tail=stu#尾节点为新节点

self.size=self.size+

以上内容为大家介绍了python中链表怎么表示?希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • pythonprint函数不要换行怎么写 从语法上讲,调用python3.0的print函数有如下的形式:print([object,...][,seq=''][,end='\n'][,file=sys.std
  • python如何编写python模块 其实网上Python教程挺多的,编写你自己的模块很简单,这其实就是你一直在做的事情!这是因为每一个Python程序同时也是一个模块。你只需要保证它以.py为扩展名即可。下面的案例会作出清晰的解释。案例
  • python怎么写多行代码 在写代码过程中,经常遇到一行代码很长的情况。为了让代码显得整齐干净,就需要把一行代码分成多行来写,Python中有两种小技巧可以实现该功能:用反斜杠链接多行代码,示例输出:55a=22+\33prin
  • python判断一个数是否为int 在python中如何判断一个数是不是整数?其实python有两种查看变量类型的方法:type()函数可以直接返回变量类型;isinstance()函数可以用来判断变量的类型,返回的是一个布尔值。typ
  • pythonnan是什么 NaN是浮点数的一个值,代表“不是数”,通常是除0错误python中可以用float("nan")或cmath.nan获得..Python中表示NotANumber使用小写的nan可以参考这篇文章:《
  • python如何获取cookie 介绍下3种python获取cookie的方法。(1)借助handler这种方法也是网上介绍最多的一种方法,但是用起来比较麻烦fromhttpimportcookiejarfromurllibimpor