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

注:java用String存储数据实现栈的出栈入栈:https://blog.csdn.net/qq_34746239/article/details/88128648

一、队列

定义:用字符串存储数据,以"##"为起始标志,数据以“,”隔开。

         入队时(inQueue)用“+”将数据拼接进字符串。

        出队时(outQueue)用split(String s)函数将字符串以“,”为界限分割成数组。在队列不为空的前提下,返回第一个数据(最先进入的数据),以此实现队列先入先出的特点。

 

定义Queue类:

package queue;

public class Queue {

    private static String data="##";//以"##"为起始标志
    
    //入队
    public void inQueue(int i){
        data=data+","+i;
        /*replace()方法:
         *通过用 newChar字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。
         *语法:public String replace(char oldChar,char newChar)
         */
        //System.out.println(data);
        System.out.println("入队后"+data.replace("##,", "").replace(",", " "));
    }
    
    //出队
    public int outQueue(){
        String[] a=data.split(",");//split() 方法根据匹配给定的正则表达式","来拆分字符串
        if(a.length==1){
            System.out.println("队为空");
            return 0;
        }else{
            data="##,";//给data重新赋初值
            for(int i=2;i<a.length;i++){//从i=2开始是为了删除i=1的值即队首的值
                data+=a[i];
                if(i!=a.length){
                    data+=",";
                }
            }
            System.out.println("出队后"+data.replace("##,", "").replace(",", " "));
            return Integer.parseInt(a[1]);
        }
    }
}

 

定义测试类:

package queue;

public class testQueue {
    public static void main(String []args) {
        Queue a=new Queue();
        a.outQueue();
        a.inQueue(10);
        a.inQueue(8);
        a.inQueue(11);
        a.outQueue();
        a.inQueue(53);
        a.inQueue(9);
        a.outQueue();
        a.inQueue(77);
        }

}

测试结果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值