栈stack

/ 数据结构 / 2 条评论 / 1425浏览

栈stack

后进先出的线性结构

方法

构造方法

/**
 * 自定义栈的实现
 * 基于动态数组实现
 * @author langao_q
 * @create 2020-05-20 11:26
 */
public class ArrayStack<E> implements Stack<E>{

    private Array<E> array;

    /**
     * 自定义长度的
     * @param capacity
     */
    public ArrayStack(int capacity){
        array = new Array<>(capacity);
    }

    /**
     * 使用默认长度的
     */
    public ArrayStack(){
        array = new Array<>();
    }

获取方法

    @Override
    public int getSize() {
        return array.getSize();
    }

    @Override
    public boolean isEmpty() {
        return array.isEmpty();
    }

    /**
     * 获取栈的容量
     * @return
     */
    public int getCapacity(){
        return array.getCapacity();
    }

    @Override
    public String toString() {
        return  array + " >>> top ";
    }

void push(E):入栈

    @Override
    public void push(E e) {
        array.addLast(e);
    }

E pop():出栈

    @Override
    public E pop() {
        return array.removeLast();
    }

E peek():查看栈顶元素

    @Override
    public E peek() {
        return array.getLast();
    }

测试