单链接列表堆栈实现

时间:2019-02-14 22:06:04

标签: java linked-list pop

我正在尝试在Java中实现类型为int(E)的单链接列表堆栈,但是我的pop()方法存在问题。在此程序中,推和弹出操作必须在此列表的开头完成。

这使我感到困惑,因为不可能有“先前的”方法; “顶部”引用将需要指向列表中的第一项,因此,当将新数据推入列表时,必须将其递减。

代码摘录在这里:

private Node next;    // warning occurs here
/** Creates a new node with a null next field.
    @param data The data stored
 */
private Node (E data) {
  this.data = data;
  next = null; // Necessary in C++ but not in Java.
}

/** Creates a new node that references another node.
    @param data The data stored
    @param next The next node referenced by new node.
 */
private Node (E data, Node<E> next) {
  this.data = data;
  this.next = next;
}
} //end class Node
private Node<E> top = null;

public E pop () {
  E item = top.data;
  if (empty())
  {
      throw new EmptyStackException();
  }
  else {
      item = top.data.next;    //error occurs here
      return item;
  }
}

0 个答案:

没有答案