【问题标题】:Node class in a Linked List链表中的节点类
【发布时间】:2017-05-03 16:38:36
【问题描述】:
private E  value;
private Node <E> next; //this one

public Node( E newVal,Node <E> newNext) {

    value = newVal;
    next = newNext; //and this one

}

我真的很难理解/可视化构造函数如何通过“next = newNext”引用下一个节点,以及为什么变量类型必须与类名相同。

【问题讨论】:

  • next = newNext 只是将传递给构造函数的任何内容分配给节点的next 指针。至于为什么nextNode&lt;E&gt; 类型应该很直观:一个节点指向另一个节点。

标签: java dts


【解决方案1】:

想象一组字母(A、B、C、D)。你想把它们排列成一个列表。这样做的一种方法如下:首先出现 A,然后告诉 A 后面的字母是 B(这是一个字母)。然后你告诉 B,它后面的字母是 C,等等。你在这里所做的是 字母连接在一起。

将该概念应用于您的案例:假设您有一堆节点。一个节点有一个类型为 E (E value) 的值,但是为了将节点排列成一个列表,你必须告诉每个节点后面的节点。

因此,在构造节点时,您必须传入 E newValNode newNext,但请记住,在您的情况下,节点是通过 E 参数化的。您传入的节点也必须通过 E 参数化,因此您传入Node&lt;E&gt; newNext

【讨论】:

    猜你喜欢
    • 2015-06-08
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多