数据结构栈的实现

数据结构栈的实现,第1张

public class MyStack {
    // 栈的大小
    private int maxStack;
    //数组模拟栈
    private int[] stack;
    //表示栈顶所在的位置,默认情况下如果栈没有数据,使用-1
    private int top = -1;

    //初始化栈的大小
    public MyStack(int maxStack) {
        this.maxStack = maxStack;
        stack=new int[maxStack];
    }

    //判断栈是否满栈
    public boolean isFull(){
        return this.top == this.maxStack-1;
    }

    //判断栈是否空栈
    public boolean isEmpty(){
        return this.top==-1;
    }

    //压栈
    public void push(int val){
        if(isFull()){
            throw new RuntimeException("此栈已满");
        }
        stack[++this.top]=val;

    }

    //d栈
    public int pop(){
        if(isEmpty()){
            throw new RuntimeException("此栈已空");
        }
        return stack[top--];
    }

    //查看栈中所有元素
    public void listStack(){
        if(isEmpty()){
            throw new RuntimeException("空栈");
        }
        for(int i=0;i<stack.length;i++){
            System.out.printf("stack[%d]=%d\n",i,stack[i]);

        }
    }
    //栈中元素存在的个数
    public int len(){
        return this.top+1;
    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/799488.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存