【问题标题】:What does Node head; means in this code; [duplicate]Node头是什么;在此代码中的意思; [复制]
【发布时间】:2016-01-02 11:20:43
【问题描述】:
class LinkedList
{
    Node head;  // head of list

    /* Linked list Node*/
    class Node
    {
        int data;
        Node next;

        // Constructor to create a new node
        // Next is by default initialized as null
        Node(int d) {data = d;}
    }
}

【问题讨论】:

  • 正如评论中所说,它是列表的头部。

标签: java


【解决方案1】:

单链表由使用next 链接相互连接的节点 组成。链中的初始节点通常称为“链表头”

您代码中的Node head 字段包含对链表初始元素的引用:

【讨论】:

    【解决方案2】:

    它声明了一个Node类型的变量,标识符为head,以类为作用域(即该变量可以在类中的任何位置访问)。

    变量未初始化,因此在被赋予值之前为null

    【讨论】:

    • 那么Node是java中的变量类型吗?
    • 是的,你可以这么说。 Node 是一个类,在 Java 中,大多数变量要么是基本类型(intboolean 等),要么是类的实例(例如 StringJFrameNode)。
    • 那么 Node 是 java 中的一个类,我们在示例中重新定义它,我们是否覆盖了 Node 类?
    • 我相信是这样,但我不确定。
    【解决方案3】:

    这只是一个基本的链表。节点头实际上是列表中的第一项。 Node head 仅引用“头”节点。假设您有一个包含 2 个项目的 LinkedList,那么您希望按如下方式访问第二个项目(假设您的 Node head 是公开的,而您的 Node next 在您的 Node 类中是公开的)

    LinkedList list = new LinkedList();
    Node secondItem = list.head.next;
    

    【讨论】:

      猜你喜欢
      • 2013-10-06
      • 2018-04-19
      • 2020-07-09
      • 2012-12-11
      • 2023-03-19
      • 2015-10-08
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多