Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从linkedlist堆栈中推送或弹出_Java_Linked List_Stack - Fatal编程技术网

Java 如何从linkedlist堆栈中推送或弹出

Java 如何从linkedlist堆栈中推送或弹出,java,linked-list,stack,Java,Linked List,Stack,我必须从linkedlist堆栈中推送和弹出,这是我实现的将对象推送到堆栈顶部的代码,但是考虑到构造函数,我不知道如何从堆栈中弹出一些内容 这是我推送的代码 public void push(Q obj) { Node<Q> node = new Node(obj); if (top == null) { top = node; } else { node.setNext(top); top = node;

我必须从linkedlist堆栈中推送和弹出,这是我实现的将对象推送到堆栈顶部的代码,但是考虑到构造函数,我不知道如何从堆栈中弹出一些内容

这是我推送的代码

public void push(Q obj) {
  Node<Q> node = new Node(obj);
    if (top == null) {
        top = node;
    } 
    else {
        node.setNext(top);
        top = node;
    }

    length++;
}
这些是我在代码顶部定义的变量

 private int length = 0;


private Node<Q> top = null;
private int length=0;
私有节点top=null;

首先,这不是pop的构造函数。阅读什么是构造函数以及如何在类中使用它

在您的代码中,节点被推到链表的前面,顶部指向最近插入的节点

所以,在pop过程中,您需要删除当前顶部并修改顶部以指向最后一个节点。将当前顶部存储到某个临时变量,将顶部节点移动到最后一个,然后返回临时变量

public T pop() {
    if(top!=null){
      Node<Q> temp = top;
      top = top.next;
      temp.next = null;
      return temp;
     }
    return null;
}
public T pop(){
如果(顶部!=null){
节点温度=顶部;
top=top.next;
temp.next=null;
返回温度;
}
返回null;
}

首先,这不是pop的构造函数。阅读什么是构造函数以及如何在类中使用它

在您的代码中,节点被推到链表的前面,顶部指向最近插入的节点

所以,在pop过程中,您需要删除当前顶部并修改顶部以指向最后一个节点。将当前顶部存储到某个临时变量,将顶部节点移动到最后一个,然后返回临时变量

public T pop() {
    if(top!=null){
      Node<Q> temp = top;
      top = top.next;
      temp.next = null;
      return temp;
     }
    return null;
}
public T pop(){
如果(顶部!=null){
节点温度=顶部;
top=top.next;
temp.next=null;
返回温度;
}
返回null;
}
这是我为Pop提供的构造函数-你确定你的意思是
构造函数
-我想你想要一个在
顶部
变量上运行的方法是的,它不是构造函数。(你的讲师要求你做的是看一下推送方法,理解它,然后基本上做相反的事情。也许可以从绘制它创建的结构图开始,这可能会对你有所帮助。)这是我为Pop提供的构造函数-你确定你的意思是
构造函数
-我想你想要一个在
顶部
变量上运行的方法是的,它不是构造函数。(你的讲师要求你做的是看一下推送方法,理解它,然后基本上做相反的事情。也许可以从绘制它创建的结构图开始,这可能会对你有所帮助。)