博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
循环队列---数据结构和算法
阅读量:4074 次
发布时间:2019-05-25

本文共 1712 字,大约阅读时间需要 5 分钟。

修改上一篇的队列,修改为循环队列

package test12;/** * Created by mlink on 2017/3/16. */public class Queue {    private long[] arr;    private int maxSize;//最大空间    private int elems;//有效元素大小    private int font ;//队头    private int end ;//队尾    public Queue(int maxSize){        this.maxSize =maxSize;        arr = new long[maxSize];        elems =0;        font =0;        end = -1;    }    //插入数据    public void  insert(long value){        if(end==maxSize-1){            end = -1;        }        arr[++end]= value;        elems++;    }    //移除数据    public long remove(){        long temp = arr[font++];        if(font ==maxSize){            font =0;        }        elems--;        return temp;    }    //是否为空    public boolean isEmpty(){        return (elems==0);    }    //是否满了    public boolean isFull(){        return (elems==maxSize);    }    //返回有效数字大小    public int size(){        return elems;    }}
然后测试就不会报错了:

package test12;/** * Created by mlink on 2017/3/17. */public class Test {    public static void main(String[] args) {        Queue qu= new Queue(5);        System.out.println(qu.isEmpty());        qu.insert(50);        qu.insert(40);        qu.insert(30);        qu.insert(20);        qu.insert(10);        System.out.println(qu.isEmpty());        System.out.println(qu.isFull());        while (!qu.isEmpty()){            long temp = qu.remove();            System.out.print(temp+" ");        }        qu.insert(50);        qu.insert(40);        qu.insert(30);        qu.insert(20);        qu.insert(10);        System.out.println(qu.isEmpty());        System.out.println(qu.isFull());        while (!qu.isEmpty()){            long temp = qu.remove();            System.out.print(temp+" ");        }    }}

转载地址:http://ppbni.baihongyu.com/

你可能感兴趣的文章
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
MongoDB 数据文件备份与恢复
查看>>
MongoDB数据库插入、更新和删除操作详解
查看>>
MongoDB文档(Document)全局唯一ID的设计思路
查看>>
mongoDB简介
查看>>
Redis持久化存储(AOF与RDB两种模式)
查看>>
memcached工作原理与优化建议
查看>>
Redis与Memcached的区别
查看>>
程序员最核心的竞争力是什么?
查看>>
linux CPU个数查看
查看>>
消息队列设计精要
查看>>
分布式存储系统设计(1)—— 系统架构
查看>>
MySQL数据库的高可用方案总结
查看>>
常用排序算法总结(一) 比较算法总结
查看>>