Java 数组模拟队列

来源:互联网 发布:淘宝网的技术模式分析 编辑:程序博客网 时间:2024/06/14 16:59
/* * 使用数组模拟队列 */package Queue;public class Queue {  //队列类    private int maxSize;    private int[] queue;    private int rear;    //队尾指针    private int front;   //队头指针    private  int num;    public Queue(int s){  //初始化构造函数        maxSize = s;        queue = new int[s];        rear = -1;        front = 0;        num =0;    }    //插入方法    public void insertInQueue(int m) {        if (rear == maxSize -1) {            rear = -1;        }        queue[++rear] = m;   //对尾指针加+1,把值放在队列结尾        num++;//      System.out.println("num"+num);    }    //取元素    public int getQueue() {        int temp= queue[front++];        if (front==maxSize) {        //处理循环            front=0;        }        num--;//      System.out.println("temp"+temp);        return temp;    }    //是否为空    public boolean isEmpty() {        return (num==0);    }    //是否满    public boolean ifFull() {        return (num == maxSize);    }    //队列长度    public int len() {        return num;    }    public static void main(String[] args) {        Queue q = new Queue(5);        q.insertInQueue(1);        q.insertInQueue(2);        q.insertInQueue(3);        q.insertInQueue(4);        q.insertInQueue(5);        System.out.println("出队列:"+q.getQueue());        System.out.println("出队列:"+q.getQueue());        System.out.println("队列的长度"+q.len());    }}
原创粉丝点击