public void push(E e)
{
list.add(e);
}
public E pop()
{
list.remove(list.size()-1);
}
public E peek()
{
}
public boolean empty()
{
if ( list.size()== 0)
{
return false;
}
else
{
return true;
}
}
这是我的老师给我的驱动程序代码的一部分,以便支持堆栈。我理解堆栈的每个部分的作用,我只是不了解如何基于此代码实现堆栈。我主要需要帮助偷看方法,但如果你看到其他问题,请告诉我。我很感激你的帮助。
答案 0 :(得分:3)
public E peek(){
if(empty()) return null;
int top = list.size()-1;
return list.get(top);
}
AND empty
方法可以简化为:
public boolean empty(){
return list.size() == 0;
}
或
public boolean empty(){
return list.isEmpty();
}
当堆栈为空时, AND pop
方法应该抛出NoSuchElementException
。
public E pop(){
if(empty()) throw new NoSuchElementException();
int top = list.size()-1;
return list.remove(top);
}