美文网首页
用数组实现循环队列

用数组实现循环队列

作者: SinX竟然被占用了 | 来源:发表于2017-09-17 12:56 被阅读0次

用数组实现循环队列!

import java.io.*;  
    public class QueueArray {     
    Object[] a; //对象数组,队列最多存储a.length-1个对象     
    int front;  //队首下标     
    int rear;   //队尾下标     
    public QueueArray(){     
        this(10); //调用其它构造方法     
    }     
    public QueueArray(int size){     
        a = new Object[size];     
        front = 0;     
        rear =0;     
    }     
    /**   
     * 将一个对象追加到队列尾部   
     * @param obj 对象   
     * @return 队列满时返回false,否则返回true   
     */    
    public boolean add(Object obj){     
        if((rear+1)%a.length==front){     
            return false;     
        }     
        a[rear]=obj;     
        rear = (rear+1)%a.length;     
        return true;     
    }     
    /**   
     * 队列头部的第一个对象出队   
     * @return 出队的对象,队列空时返回null   
     */    
    public Object poll(){     
        if(rear==front){     
            return null;     
        }     
        Object obj = a[front];     
        front = (front+1)%a.length;     
        return obj;     
    }     
    public static void main(String[] args) {     
        QueueArray q = new QueueArray(4);     
        System.out.println(q.enqueue("张三"));     
        System.out.println(q.enqueue("李斯"));     
        System.out.println(q.enqueue("赵五"));     
        System.out.println(q.enqueue("王一"));//无法入队列,队列满     
        for(int i=0;i<4;i++){     
            System.out.println(q.dequeue());     
        }     
    }     
}   

相关文章

  • 用数组实现循环队列

    用数组实现循环队列!

  • 有关“队列”的总结

    队列 定义 分类 链式队列 (用链表实现) 静态队列 (用数组实现)图静态队列通常都必须是循环队列循环队列的讲解:...

  • 1.数组队列

    数组实现单队列 数组实现循环队列

  • 数组队列实现以及其出队问题

    基于动态数组的实现 用数组实现的队列,出队的时间复杂度是O(n),我们用循环队列解决

  • C队列(数组循环队列、链表普通队列)

    一、数组循环队列 简述一下思想,该循环队列用数组实现,数组大小初始化为5(MaxSize),有头索引(front)...

  • Java基础面试题

    如何用数组实现队列? 用数组实现队列时要注意 溢出 现象,这时我们可以采用循环数组的方式来解决,即将数组收尾相接。...

  • 队列

    一种可以实现“先进先出”的存储结构。 分类: 链式队列:用链表实现; 静态队列:用数组实现,通常都是循环队列。 循...

  • Java队列

    阻塞队列 ArrayBlockingQueue 一个用循环数组实现的有界阻塞队列。必须指定队列长度,按 FIFO(...

  • 循环队列的Java实现

    用数组实现循环队列,循环队列的难点在于头节点和尾节点的判断,判队列已经满了是通过(tail + 1)% n == ...

  • 用数组实现循环队列

    循环队列这块思考的几十分钟才彻底想清楚需要注意的地方。 rear指针的位置是不存数值的。front只是表示末端,与...

网友评论

      本文标题:用数组实现循环队列

      本文链接:https://www.haomeiwen.com/subject/fjwpsxtx.html