我们知道,栈的特点是先进后出,后进先出。而队列的特点正好相反,先进先出,后进后出。学习了链表集合的方法pollFirst、offerFirst,就可以用来模拟栈和队列了。实现代码如下,需要注意的是模拟出栈操作时如果往链表插入元素是插在第一个位置,则模拟出栈时也是获取第一个位置。当然,队列则相反之。
class MyStack
{
private LinkedList li = new LinkedList();
public Object getElement()
{
return li.pollFirst();
}
public void insertElement(Object e)
{
li.offerFirst(e);
}
public boolean isNull()
{
return li.isEmpty();
}
}
要改成模拟队列,简单,是不是只要该两个地方就行了,哈哈!