java使用数组实现队列


队列的特点:FIFO先进先出

class ArrayQueue {
     private int size;//队列的长度
     private int[] queue; //队列
     private int front; //后指针
     private int rear; //前指针
     private static final int DEFALUT_SIZE = 10;
    
     public ArrayQueue() {
         this.size = DEFALUT_SIZE;
     }
    
     public ArrayQueue(int queueSize) {
         if (queueSize <= 0 ) {
             size = DEFALUT_SIZE;
             queue = new int[DEFALUT_SIZE];
         } else {
             size = queueSize;
             queue = new int[queueSize];
         }
         front = -1;
         rear = -1;
     }
    
     public boolean isFull() {
         return rear == size - 1;
     }
    
     public boolean isEmpty() {
         return rear == front;
     }
    
     public void add(int n) {
         if (isFull()) {
             System.out.println("队列已满,不能再添加数据");
             return;
         }
         queue[++rear] = n;
     }
    
     public int get() {
         if (isEmpty()) {
             throw new RuntimeException("队列已空,没有数据了");
         }
         return queue[++front];
     }
    
     public int peek() {
         if (isEmpty()) {
             throw new RuntimeException("队列已空,没有头元素了");
         }
         return queue[front + 1];
     }
    
     public void list() {
         for (int i : queue) {
             System.out.printf("%d\t", i);
         }
         System.out.println();
     }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM