1.定义链表
# 定义链表
class ListNode(object):
def __init__(self):
# val为当前结点的值
self.val = None
# next为链表接下来指向的地址
# 格式为:<__main__.ListNode object at 0x0000025C715CBD90>
self.next = None
2.实现链表的添加功能
# 定义链表的基本操作
class ListNode_handle:
def __init__(self):
self.cur_node = None
# 实现节点的添加
def add(self, data):
# 创建新的节点
node = ListNode()
# 节点赋值
node.val = data
# 设置节点的地址
node.next = self.cur_node
# 将节点的地址传给操作功能中的节点
self.cur_node = node
print("当前添加的节点",data,"===>",self.cur_node)
# 返回节点
return node
def printInfo(self, node):
# 遍历链表
while node:
print('node: ', node, ' value: ', node.val, ' next: ', node.next)
node = node.next
实现添加功能
# 创建操作对象
handle_Node = ListNode_handle()
# 创建链表
l1 = ListNode()
l1_list = [1,2,3,4,5]
# 循环添加数据
for i in l1_list:
l1 = handle_Node.add(i)
handle_Node.printInfo(l1)
输出结果
当前添加的节点 1 ===> <__main__.ListNode object at 0x0000021CAEB4BCA0>
当前添加的节点 2 ===> <__main__.ListNode object at 0x0000021CAEB4BD60>
当前添加的节点 3 ===> <__main__.ListNode object at 0x0000021CAEB4BC40>
当前添加的节点 4 ===> <__main__.ListNode object at 0x0000021CAEB4BBE0>
当前添加的节点 5 ===> <__main__.ListNode object at 0x0000021CAEB4BB80>
node: <__main__.ListNode object at 0x0000021CAEB4BB80> value: 5 next: <__main__.ListNode object at 0x0000021CAEB4BBE0>
node: <__main__.ListNode object at 0x0000021CAEB4BBE0> value: 4 next: <__main__.ListNode object at 0x0000021CAEB4BC40>
node: <__main__.ListNode object at 0x0000021CAEB4BC40> value: 3 next: <__main__.ListNode object at 0x0000021CAEB4BD60>
node: <__main__.ListNode object at 0x0000021CAEB4BD60> value: 2 next: <__main__.ListNode object at 0x0000021CAEB4BCA0>
node: <__main__.ListNode object at 0x0000021CAEB4BCA0> value: 1 next: None