很多小伙伴在学习单向链表的时候都不知道该怎么去删除其中的节点,而今天这篇文章小编会以实际的代码示例来给大家分享一下python单向链表删除指定位置节点的方法,感兴趣话小伙伴可以往下看完这篇文章来学习一下哦。
1.定义一个函数并设置两个参数,第一个参数self表示接收的就是单向链表对象,参数二index的意思就是删除哪一个位置的单向链表。然后还需要先判断一下这个单向链表不是空的才执行删除节点操作,代码如下:
def delete(self,index): if self.isEmpty(): print("The linked list is empty")
2.不为空时定义变量t来接收单链表的头部节点对象,因为单链表只能从头开始访问,删除节点时也是要这么操作的。然后去判断一下index索引的值是否为0,为0的话就将单链表的头部节点设置为它的下一个节点,示例如下:
else: t = self.head if index == 0: self.head = t.next
3.然后不为空时就表示要去删除指定位置的单链表节点了,先定义一个变量n为1,然后循环直到链表长度-1小于它位置,这样就能访问除了头结点之外的全部节点。在循环之中还需要获取到头节点的下一个节点next,然后将其设置为None就表示删除了,详细代码示例如下所示:
elif index == self.length() - 1: n = 1 while n < self.length() - 1: t = t.next n = n + 1 t.next = None
以上的所有代码都是写在第一步定义的函数之类的,在编写时需要注意缩进和层次划分。以上就是本文的全部内容了,希望对你有所帮助。