Java 理解将两个节点设置为彼此相等与将节点指向另一个节点之间的区别吗?
我一直在努力理解链表的基本知识,但我在解释这些代码时遇到了困难:Java 理解将两个节点设置为彼此相等与将节点指向另一个节点之间的区别吗?,java,Java,我一直在努力理解链表的基本知识,但我在解释这些代码时遇到了困难: 1 private node head = null; 2 3 node prev = null; 4 node curr = head; 5 while (curr != null) { 6 prev = curr; 7 curr = curr.link; } 这一小段代码是查看单词链接列表的代码的一部分。所以我的问题是,对于第6行,prev的节点是链接到curr还是curr的值等于prev?另外,我不知道7号线发生
1 private node head = null;
2
3 node prev = null;
4 node curr = head;
5 while (curr != null) {
6 prev = curr;
7 curr = curr.link;
}
这一小段代码是查看单词链接列表的代码的一部分。所以我的问题是,对于第6行,prev的节点是链接到curr还是curr的值等于prev?另外,我不知道7号线发生了什么事
谢谢
7号线发生了什么事
没什么
curr=head=null
,因此不会执行循环。您需要提供有关此链接列表的更多信息。我们不知道节点
类是什么样子的。尝试创建一个实际的可编译示例,而不是这里的伪代码。首先,尝试遵循适当的Java命名约定。因此,我的意思是,您何时实际指向下一个节点?它不是用“=”操作符完成的,对吗?“=”只是将一个节点的值分配给另一个节点。如果我错了,请纠正我。@AayushK No.node1=node2
表示node1
现在是node2
。如果要将一个节点的值分配给另一个节点,则必须使用node1.value=node2.value
,因此在大多数情况下,在解释链表时,会有一些图表将节点显示为带箭头的方形框。我试图想象你刚才解释的内容。那么,当node1现在是node2时,这是否意味着node1框现在有一个指向node2框的箭头?希望这是有意义的。@Aayusk不。这意味着node1
框实际上变成了node2
<代码>节点1→ node2表示node1
的下一个节点是node2
node1=node2
表示node1
刚刚变成node2
谢谢您的澄清!