实现栈
Posted skychmz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现栈相关的知识,希望对你有一定的参考价值。
栈的特点是先进后出(FILO),我们之前实现了数组,具体在
https://www.cnblogs.com/skychmz/p/11968449.html
现在我们可以利用这个数组类来实现栈。
首先我们新建一个栈的原型,具有基本的方法和变量
public class ArrayStack<E> { private Array<E> array; public ArrayStack(int capacity){ array = new Array<>(capacity); } public ArrayStack(){ array = new Array<>(); } public int getSize(){ return array.getSize(); } public boolean isEmpty(){ return array.isEmpty(); } public int getCapacity(){ return array.getCapacity(); } }
然后我们实现操作栈元素的方法
由于栈先进后出的特性,我们只能往栈顶(数组尾部)加入元素,也就是push方法,通过数组的addLast方法实现
public void push(E e){ array.addLast(e); }
取元素也一样,只能从栈顶(数组尾部)取出元素,也就是pop方法,通过数组的removeLast方法实现
public E pop(){ return array.removeLast(); }
最后实现查看栈顶元素的方法
public E peek(){ return array.get(getSize() - 1); }
以上是关于实现栈的主要内容,如果未能解决你的问题,请参考以下文章