鱼C论坛

 找回密码
 立即注册
查看: 2605|回复: 2

[技术交流] python算法:Node

[复制链接]
发表于 2023-2-10 07:29:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 歌者文明清理员 于 2023-2-10 07:32 编辑

之前没重视算法,python强大的列表、tuple、dict、set使python很强,不用学算法;
可C++…
注:写给希望研究python算法的小伙伴看的,老手不想学直接忽略
从最基础的开始,Node节点类
首先,
class Node:
    def __init__(self):
,这个毫无疑问。
然后想想要填参数:
    data:节点的数据
    next:下一个节点,默认为None

然后还要存到对象里,成为它的属性:
class Node:
    def __init__(self, data, next=None)
        self.data = data
        self.next = next
再加上__repr__方法,至于__repr__和__str__的区别…自行百度吧
repr('abc') 'abc'; str('abc') abc
    def __repr__(self):
        return f'Node(' + repr(self.data) + ')'
结束了。
q:啊这…
a:确实如此啊
q:为什么要有next
a:下次链表的时候,需要使用下一个节点怎么办?
q:凉拌
验证类是否可行:
if __name__ == '__main__':
    node3 = Node(114)
    node2 = Node('Bye', node3)
    node1 = Node('hello', node2)
    print(node3, node2, node1)
    print([node1, node2, node3])
    print(node1.next.next)
    print(node1.next.next.next)
### result ###
Node(114) Node('Bye') Node('hello')
[Node('hello'), Node('Bye'), Node(114)]
Node(114)
None
结束
等等—记得保存为“node.py”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-10 08:47:09 | 显示全部楼层
做个笔记,哈哈
#coding=gbk
class Node:
    def __init__(self, data, next=None):
        self.data = data
        self.next = next
    def __repr__(self):
        return f'Node(' + repr(self.data) + ')'
if __name__ == '__main__': 
#仅前文件,__name__ 是__main__,否则作为被导入对象时,以下测试代码不运行
    node3 = Node(114)
    node2 = Node('Bye', node3)
    node1 = Node('hello', node2)
    print(node3, node2, node1)
    print([node1, node2, node3])
    print(node1.next.next)
    print(node1.next.next.next)
运行结果:
Node(114) Node('Bye') Node('hello')
[Node('hello'), Node('Bye'), Node(114)]
Node(114)
None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-10 16:39:40 | 显示全部楼层
chinajz 发表于 2023-2-10 08:47
做个笔记,哈哈

运行结果:
# -*- coding: utf-8 -*-
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-24 17:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表