【发布时间】:2013-04-08 09:34:55
【问题描述】:
不久前,我在 C 中实现了一个 LinkedList。这非常简单,因为每个节点都由一个值和另一个指向列表中下一个元素的指针组成。但是现在我正在尝试在 Java 中实现一个 LinkedList,因为没有指针我做了一个这样的节点:
public class MyNode{
int value;
MyNode next;
public MyNode(int i){
value = i;
next = null;
}
}
现在假设我有这个:
MyNode n1 = new MyNode(1);
MyNode n2 = new MyNode(2);
n1.next = n2;
MyNode n3 = new MyNode(3);
n2 = n3;
如果我这样做会得到什么
System.println(n1.next.value);
我会得到 2 还是 3?我来自 C 的主要问题是我并不真正了解 java 如何在数据中移动。它是将 n2 复制到 n1 还是 n1 只是指向 n2?这一切都非常令人困惑。
【问题讨论】:
-
我会得到 2 还是 3? => 你为什么不试试呢?
-
你完全正确。我应该在我问之前尝试过,但我仍然想知道 Java 如何处理“n1.next = n2;”这一行
-
这可能会有所帮助:stackoverflow.com/questions/10042/…
-
@Hiny 请阅读 OP正文底部的问题。
-
Java 教程中很好地解释了这个问题和相关问题。请参阅StackOverflow Java wiki 以获取 Java 介绍和网上可用的在线教程列表。
标签: java c linked-list nodes