【发布时间】:2020-09-05 12:47:07
【问题描述】:
我是数据结构的新手,刚开始接触链表。我理解整个代码,但我无法理解为什么
llist.head 是类 Linkedlist 的属性,它成为类 Node 的对象。在后面的示例中,我们为什么要执行此分配 llist.head = node(1)?
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
if __name__=='__main__':
llist = LinkedList()
llist.head = Node(1)
second = Node(2)
third = Node(3)
llist.head.next = second
second.next = third
【问题讨论】:
-
LinkedList 表示列表本身和列表的节点一节点(元素)。我们需要将列表的头节点存储在某处,以跟踪列表的开始位置,为此我们使用 LinkedList 的 head 属性。
-
谢谢!! @Óscar López
-
LinkedList是您定义添加或删除新节点、计算列表或迭代列表的方法的地方。这样,您可以编写llist.append(1)、llist.append(2)等,而无需自己管理指针。
标签: python oop data-structures linked-list