优草派 > Python

Python双向链表怎么删除元素?双向链表结构如何删除节点

罗西汉         优草派

双向链表在python之中是一个数据结构,对于所有数据结构来说,基本上的操作都是增删改查之类的。而在之前的文章之中小编已经给大家介绍了双向链表添加、修改和查找的方法,所以这篇文章会来给大家讲解一下python双向链表是怎么删除节点元素的。

Python双向链表怎么删除元素?双向链表结构如何删除节点

(1)python双向链表删除元素需要用到两个方法,第一个方法就是根据索引查询它是否在双向链表结构之中,如果在的话就将其对象给返回出去。

那么代码的具体方法和查询链表元素的方法一样,循环变量链表直到指定的索引处,然后返回该索引下一个节点所指向的元素。这个元素所对应的就是需要去删除的节点了,详细代码如下所示:

def get_node(self, index):
 current = self.head
 while -1 < index:
    current = current.next
 return current

(2)那么第二步就是根据这个要在双向链表对象之中去调用这个函数来将该链表内指定索引位置处的节点对象给找出来,找出来之后还需要将这个节点的前驱链指针指向的下一个对象设置为删除节点的下一个对象。

这一步的目的是为了让删除的节点从链表中断开联系独立出来,但是在删除的这个节点不是最后一个节点的时候,还需要去修改删除节点本身的为前驱链,。最后使用del关键字将节点删除即可,代码如下所示:

def __delitem__(self, index):
  current = self.get_node(index)
  current.previous.next = current.next
  if current.next:
    current.next.previous = current.previous
    self.length -= 1
  del current

以上就是关于“Python双向链表怎么删除元素?双向链表结构如何删除节点”的全部内容了,希望对你有所帮助。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024