java用String存储数据实现栈的入栈出栈

**注:java用String存储数据实现队列的入队出队:https://blog.csdn.net/qq_34746239/article/details/88119515

 

二、栈

定义:栈是先入后出,所以入栈方式和队列一样,但是出栈是返回最后一个数据(即栈顶数据)

定义类:

package stack;

public class Stack{
    
    private static String data="##";
    
    public void inStack(int i){
        data=data+","+i;
        System.out.println("入栈后,data中的数据为"+data.replace("##,", "").replace(",", " "));
    }
    
    public int outStack(){
        String[] a=data.split(",");
        if(a.length==1){
            System.out.println("栈为空");
            return 0;
        }else{
            data="";
            for(int i=0;i<a.length-1;i++){
                data+=a[i];
                if(i!=a.length-1){
                    data+=",";
                }
            }
            System.out.println("出栈后,data中的数据为"+data.replace("##,", "").replace(",", " "));
               return Integer.parseInt(a[a.length-1]);
        }
    }
}

测试类:

package stack;

public class testStack {
    public static void main(String []args) {
        Stack a=new Stack();
        a.outStack();
        a.inStack(10);
        a.inStack(8);
        a.outStack();
        a.inStack(53);
        a.inStack(9);
        a.outStack();
        a.inStack(77);
    }
}

 

测试结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值