我已经看到了几个在链表开头插入节点的实现。大多数都是这样的(Python):
class Node:
def __init__(data, next_node):
self.__data = data
self.__node = node
def next(self):
return self.__next
def data(self):
return self.__data
class LinkedList:
def __init__(head):
self.__head = head
def insert_beginning(self, new_data):
new_node = Node(data, self.__head)
self.__head = new_node
重新说明: 为了清晰起见,代码被简化,因此缺少一些方法,但我的问题是:链接列表的头部是仅指向第一个节点的指针(没有数据,因此不是实际节点) - 所以我们将此指针值分配给我们的新节点的下一个变量,现在new_node指向先前的第一个节点。
但是根据我对上面代码的理解 - 当head重新分配new_node的值时 - 它不指向该节点,它包含该节点。那有意义吗?或者我对指针如何工作有一些基本的误解?