单链表,是一种链式存储的数据结构,每个数据中除了有保存的元素本身的数据,还有一个指针,这个指针指向链表里的下一个元素。
class nodes: # 初始化链表时,传入参数,这里第一个参数是链表的值,也可以说是保存的数据,可以是一个,也可以是多个 def __init__(self, node_no: int, node_name): # 下一个节点 self.next = None self.node_no = node_no self.node_name = node_name
这里每个节点有三个数据,一个是指针,一个是节点编号和节点姓名。
# 单向链表的实现,管理链表里的元素 class single_linked_list: # 初始化一个头节点,传入的索引为空 __head = nodes(0, '')
这里的单向链表有一个头结点,这个头结点是用来指向下一个节点的,本身不保存任何信息。
接下来,添加节点,我这里实现了两种添加方式,一种是无序添加,一种是按照node_no的大小添加。
无序添加节点
# 首先,找到最后一个节点 # 第二,将最后一个节点的索引指向新的节点 # 无序添加元素 def add(self, node: nodes): head = self.__head while True: # 如果链表索引为空,则退出循环 if head.next == None: break head = head.next # 为链表尾部的索引赋值 head