提问者:小点点

Python:链表:关于node=node的问题。下一步和节点。下一个=节点


我正在练习Python,链接列表:

类链接列表:
definit(self):self。头=无

def __repr__(self):
    node = self.head
    nodes = []
    while node is not None:
        nodes.append(node.data)
        node = node.next
    nodes.append('None')
    print(nodes)
    return ' -> '.join(nodes)

问题:

  • 我们都知道将第一个节点指向第二个节点:第一个节点。下一个=第二个节点
  • 但是,在上面的LinkedList类中,我们可以看到:node=node。下一个

1/它们之间有什么区别?

2/在类LinkedList中,下一个方法来自何处?

谢谢你的进步。


共1个答案

匿名用户

node=节点。下一步可以更好地描述为current\u node=node。下一步,因为它并不总是第一个节点。在\uuu repr\uuu函数中,您基本上是在头部设置一个节点。然后打印该节点(即头部)中的数据。然后我们将节点设置为节点。下一步节点设置为第二个节点。如果有第三、第四。。。列表中的节点,然后节点最终将设置为它们,直到最后一个节点。

您发送的代码不完整,因为它还需要实现节点类和链表类。这基本上保存了数据和指向下一个节点的指针。

class Node:
  def __init__(self, data, next = None):
    self.data = data
    self.next = next

所以next不是一个方法,而是一个保存下一个节点地址的成员。