数据结构顺序栈的创建

实现顺序栈的初始化,多个元素入栈,读栈顶元素,全部出栈,单个元素入栈,单个元素出栈,栈空判断

给你一段java代码用作参考:

public class MyStack {
    private Object[] datas ;//Object类型的数组,用来存储堆栈的实际数据
    private int topIndex = -1;//用来记录堆栈栈顶的位置
    private int size;//堆栈的容量

    //默认无参构造,容量为100
    public MyStack(){
        this.datas = new Object[100];
        this.size = 100;
    }
    //用户指定堆栈的容量,构造堆栈
    public MyStack(int size){
        this.datas = new Object[size];
        this.size = size;
    }

    //判断堆栈是否为空
    public boolean isEmpty(){
        if(topIndex == -1){
            return true;
        }
        return false;
    }
    //入栈操作
    public void push(Object obj){
        if(topIndex == size-1){
            System.out.println("当前堆栈已满,无法再加入新元素:" + obj);
            return;
        }
        //栈顶位置加一
        topIndex++;
        //将要入栈的元素,放入数组中新的栈顶位置
        datas[topIndex] = obj;
    }
    //出栈操作
    public Object pop(){
        if(isEmpty()){
            return null;
        }
        //取得栈顶当前的元素
        Object obj = datas[topIndex];
        //将栈顶位置减一
        topIndex--;
        //返回取出来的栈顶元素
        return obj;
    }

    //获取栈顶元素使用
    public Object peek(){
        return null;
    }

}