我试图在java中使用pop函数创建自己的堆栈类,该函数删除堆栈中推送的最后一个对象并返回它。当我在测试器类中调用stack.pop()后跟stack.display()而不显示没有弹出对象的堆栈内容时,不会显示任何内容。 return语句也必须在方法的末尾,这意味着只有在我已经将它设置为null之后才能返回top。我做错了什么如果return语句必须在方法结束时如何返回被删除的对象?请帮帮我,我很伤心。
public StackElement pop ()
{
if (empty () == true)
{
System.out.println ("Stack is empty");
return null;
}
else
{
StackElement temp = top.next;
top = null;
temp = top;
return top;
}
}
答案 0 :(得分:0)
目前您将top设置为null然后返回不正确的值。将temp(您计划返回的Stackelement)设置到堆栈的顶部,然后将stack的当前top设置为下一个元素,然后返回temp(前一个顶部)
else
{
StackElement temp = top;
top = top.next;
return temp;
}