【问题标题】:Linked Lists Implementation using java and the absence of pointers [duplicate]使用java和没有指针的链接列表实现[重复]
【发布时间】:2016-07-12 14:37:53
【问题描述】:

我正在尝试在 java 中实现一个链表。根据我对 C++ 链表的了解,是通过创建节点类来实现的:::

struct Node
{
int data;
struct Node *next;
}

与此类似,我发现在 java 中节点的创建者是:::

class Node {
int data;
Node next;
}

我的疑问是在 java 类中没有指向下一个节点的地址。事实上,我能够解释的是,每个节点递归都会在其中有另一个节点,而不是它的位置,理论上应该是这种情况。我尝试在 java 论坛上找到一些帮助,他们说“下一个”节点实际上就像 c++ 指针一样,但在语法方面我不明白为什么它会给出地址而不是节点本身。

【问题讨论】:

  • node inside对你意味着什么?这与它的位置有什么不同?显然,您在 Java 中没有指针,因此请使用您所拥有的引用值。
  • 正是我的观点..一个节点应该只有后续节点的“地址”,而不是它的实际值。 @Sotirios Delimanolis
  • 任何引用类型的值都是对对象的引用。
  • 简单地把'Node next;'仅包含对 next 的引用。不是对象本身。

标签: java pointers reference linked-list


【解决方案1】:

“事实上我能够解释的是,每个节点递归都会在其中有另一个节点,而不是它的位置”不正确,节点实例中的节点属性将设置为对下一个节点的引用,不是对象本身

【讨论】:

  • 我可能错了,但为什么一定会这样呢?如果我们正在创建一个对象或变量,那么它应该在其中存储数据,而不是它在内存中的位置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-20
  • 1970-01-01
  • 2021-05-04
  • 1970-01-01
  • 2018-04-27
  • 2013-10-29
  • 1970-01-01
相关资源
最近更新 更多