链表的头节点

时间:2014-02-11 08:17:49

标签: java linked-list

所以我想知道如何创建一个新的空链表,使用我的List和node的类定义,第一个头节点指向null而不必保存任何整数值。事情是我不允许更改给定的方法或添加任何定义,所以每当我创建一个列表,在构造函数中,我不知道我应该如何将头部设为null。这是代码的一部分:

public class Node {
   private Node next;
   private int key;

   Node(Node nxt, int keyValue) {
      key = keyValue;
      next = nxt;      
   }
   Node getNext() {
      return next;
   }   
   int getKey() {
      return key;
   }
   void putNext(Node nxt) {
      next = nxt;
   }   
}

班级列表

public class List {
    private Node head;
    List() {
       head = new Node(null, -1); // arbitary value for head 
       head.putNext(null); 
    }

这就是我想出的。我只是将一个随机值分配给头节点中的变量键。但是,如果我这样做,它将有点混乱我后来的方法使用递归像删除或找到总和或找到最大,最小等 我还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在空链接列表中,Head是一个指向Nothing的指针。您不必担心创建当前头部指向的对象。只需创建一个头指针并将其指定为NULL。当您实际添加节点时,将第一个节点的地址分配给Head。多数民众赞成......

public class List {
    private Node *head;
    List() {
       head = NULL; 
    }
}