提问人:Jiya varma 提问时间:8/30/2022 最后编辑:Federico klez CullocaJiya varma 更新时间:8/30/2022 访问量:26
为什么在 LinkedList 实现中不将当前引用和 head 引用视为彼此的别名?
Why are current and head references not considered aliases of each other in LinkedList implementation?
问:
请考虑 Linked List 类中的以下 addToBack 方法
public void addToBack(int data) {
Node newNode = new Node(data);
if (head == null) {
head = newNode;
}
else {
Node curr = head; //this is what I'm hung up on
while (curr.next != null) {
curr = curr.next;
}
curr.next = newNode;
}
}
为什么 current 和 head 在这里不是别名?我认为,如果两个引用指向同一个对象,那么它们就是别名,改变一个的内容也会改变另一个。那么,当将 head 分配给 current,并在 while 循环中将 current 重新分配给 current.next 时,为什么 head 没有也改变呢?
顺便说一句,我在这里看到了一个类似的问题:为什么操作 LinkedList 节点别名允许此方法工作?,但不明白关于为什么 head 和 current 而不是别名的解释。
答: 暂无答案
评论
curr
curr
head