使用Python实现链表

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
由输出结果可以看出,节点5(value=5)的next节点位置为节点4的地址,说明结点5的next节点为4,即实现了链表的链接操作。代码实现操作如图所示:

在这里插入图片描述

其他操作有待更新…

在这里插入图片描述

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值