java 队列

来源:互联网 发布:淘宝设计师难做吗 编辑:程序博客网 时间:2024/05/17 16:46
对列:先进先出public class Queue {    private int maxSize;    private long arr [];    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;    }        /**     * 插入数据     * @param value     */    public void insert(long value) {        if(isFull()) {            System.out.println("已经满了,不能再继续插入。");        }else {            if(end == (maxSize-1)){                end = -1;            }            arr[++end] = value;            elems ++;        }    }        /**     * 移除数据     * @return     */    public long remove() {        long temp = arr[font++];        elems --;        if(font == maxSize)            font = 0;                return temp;    }        /**     * 判断是否为空     * @return     */    public boolean isEmpty() {                return (elems == 0);    }        /**     * 判断是否满了     * @return     */    public boolean isFull() {        return (elems == maxSize);    }        /**     * 返回大小     * @return     */    public int size() {        return elems;    }}测试:public class TestQueue {        public static void main(String[] args) {        Queue queue = new Queue(5);        System.out.println(queue.isEmpty());        queue.insert(5);        queue.insert(4);        queue.insert(3);        queue.insert(2);        queue.insert(1);        queue.insert(0);                System.out.println(queue.size());        System.out.println(queue.isFull());        while(!queue.isEmpty()) {            System.out.print(queue.remove() + "\t");        }        System.out.println();        System.out.println(queue.size());                queue.insert(5);        queue.insert(4);        queue.insert(3);        queue.insert(2);        queue.insert(1);        while(!queue.isEmpty()) {            System.out.print(queue.remove() + "\t");        }        queue.remove();    }}

0 0
原创粉丝点击