public void addToHead(IntNode node) {
IntNode temp = _head;
_head = node;
node.setNext(temp);
}
编辑:我搜索了youtube,Nothig那里有关于链表和堆的信息
垃圾收集器何时擦除temp
?我知道它应该,但无法看到。
我很难理解它。直觉我只是写
_head = node;
我知道这不对,但我觉得我需要了解那里的对象和地址,以明白这一点......
第一行:我创建一个temp,并将其指向同一个地址_head points
秒行:现在指向地址节点,(node.next等于head.next)
第三行:现在node.next变为临时..
我是对的
答案 0 :(得分:0)
其工作原理如下:
node
在堆栈上并引用要插入的堆对象(A)_head
可能是堆对象(列表)的成员,并引用当前位于列表头部的堆对象(B)。temp
,然后引用该对象(B)_head
更改为node
引用的堆对象,因此_head
现在引用(A)_head
和node
引用,以使其next
- 成员参考(B)next
- 成员引用,依此类推等等,所以垃圾收集没有任何声明。