文章目录
前言
单链表是数据结构中为非常基础的内容,所以我们也来简单学一下喽^-^
一、单链表是什么?
单链表是存储、操作数据的一种基本结构,类似于只能单向遍历的列表,只是连接时靠结构体依次连接。
二、写代码时注意点:
1.关联性:将self.head赋值给临时变量时,改变变量由self.head带来的相关属性时,会改变self.head的相关属性。
2.防止遗失:加入元素时与删除元素时,先把后面的元素连接防止丢失后面数据。
3.小思路:查找与修改和删除代码类似均要找,我们写起来就可以类似的写,修改的核心思想是将指针指向到修改的那一个位置,删除的核心思想是到删除的前一个位置。(删除也可以将指针指向要删除的位置,将他下一位的值赋值给他,然后将他与他下一位的下一位连接即可)
4.小问题: 当按下标操作链表时,IndexError,要用户重新输入还是直接去搞首位末尾??? 前者判断让用户重新输入即可,个人兴趣就选择后者硬搞!
三、代码
1.每一个结点的创建
class Linknode:
def __init__(self, data=None):
self.data = data
self.next = None
2.Linklist完整代码
class Linklist:
def __init__(self):
self.head = Linknode() # 创建空链表
# 头插法创建
def head_create(self, li):
self.head = Linknode(li[0]) # 赋值头结点
for i in li[1:]:
node = Linknode(i)
node.next = self.head
self.head