顺序表和链表作为线性表的典型结构,上一篇已经说了顺序表在python中的典型应用:list和tuple,《顺序表数据结构在python中的应用》,今天来实现链表的基本结构之一:单向链表。
单向链表模型:
[图片上传中...(image-ae2143-1554301040150-1)]
链表是一个个节点连接而成,节点由两部分构成:元素域、链接域;链接域链接下一个节点,从而构成一条链条,而python主要实现单个节点对象,从而构成链条。
python实现一个节点对象:
class node:
def __init__(self, item):
self.item = item # 该节点值
self.next = None # 连接一下一个节点
定义一个链条对象:
class SinglyLinkedList:
"""链表对象"""
def __init__(self):
self._head = None
链表对象从头部开始,链接一个个节点,下面我们添加一个在头部和尾部增加节点的方法。
class Node:
def __init__(self, item):
self.item = item # 该节点值
self.next = None # 连接一下一个节点
class SinglyLinkedList:
"""链表对象"""
def __init__(self):
self._head = None
def add(self, item):
"""
头部添加节点
:param item: 节点值
:return:
"""
node = Node(item)
node.next = self._head
self._head = node
def append(self, item):
"""
尾部添加节点