队列的简单应用

来源:互联网 发布:淘宝海淘靠谱吗 编辑:程序博客网 时间:2024/06/07 22:09

package com.itheima.com;

/**
* 队列
* @author Administrator
*
*/
public class QueueDemo {

private Object datas[];private int pushIndex;//入队的下标private int popIndex; //出队的下标private int counts;//记录数据的个数public QueueDemo(int size){    datas = new Object[size];}public QueueDemo(){    this(10);}public boolean isEmpty(){    return counts == 0;}public boolean isFull(){    return counts == datas.length;}/** * 入队操作 */public void push(Object data){    if (isFull()) {        return;    }    datas[pushIndex++ % datas.length] = data;    counts++;}/** * 出队列 */public Object popup(){    Object data = datas[popIndex++ % datas.length];    counts--;    return data;}

}

package com.itheima.com;

public class TestQueueDemo {

public static void main(String[] args) {    // TODO Auto-generated method stub    //初始化队列    QueueDemo queue = new QueueDemo(6);    for (int i = 0; i < 6; i++) {        queue.push(i + 1);    }    //数数    int counts = 0;//计数器    while (!queue.isEmpty()) {        Object d = queue.popup();        counts++;        //判断        if (counts % 3 == 0) {            System.out.println(d);        } else {            queue.push(d);//再放进队列        }    }}

}

0 0