package P_12_11; /** * Created with IntelliJ IDEA. * Description:设计循环队列 队列 :尾巴进 头出; * User: * Date: 2021-12-11 * Time: 20:45 */ public class MyCircularQueue { private int [] elem ; private int front ; private int rear ; public MyCircularQueue(int k) { this.elem = new int[k+1];// 此处改为 K+1 ; 因为定义的原因 最后的值要空一个 来判断是否为空 } //入队 public boolean enQueue(int value) { if(isFull()){ return false; } this.elem[this.rear] = value ; this.rear = (this.rear+1)%this.elem.length; return true ; } //出队 public boolean deQueue() { if(isEmpty()){ return false; } this.front = (this.front + 1)%this.elem .length; return true ; } //得到队头元素 public int Front() { if(isEmpty()){ return -1; } return this.elem[this.front] ; } // 得到队尾元素 public int Rear() { if(isEmpty()){ return -1; } int index = 0; if (this.rear == 0) { index = this.elem.length-1 ; }else{ index = this.rear -1 ; } return this.elem[index]; } // public boolean isEmpty() { return this.front == this.rear ; } public boolean isFull() { return (this.rear+1)%this.elem.length == this.front ; } }