马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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” |