首页 > 编程知识 正文

环形队列的实现,循环队列和环形队列

时间:2023-05-04 06:43:34 阅读:191058 作者:2900

环形队列可以使用数组实现,也可以使用循环链表实现。


package www.bittech;public class MyCircularQueue { private int front;//队列头 private int rear;//队列尾 private int usedSize;//数据个数 private int[] elem;//数组 public MyCircularQueue(int k){ this.elem=new int[k]; this.front=0; this.rear=0; this.usedSize=0; } public boolean enQueue(int value){ if(isFull()){ return false; } this.elem[this.rear]=value; this.usedSize++; this.rear=(this.rear+1)%this.elem.length; return true; } //队尾下标加上1在% public boolean isFull(){ if((this.rear+1)%this.elem.length==this.front){ return true; } return false; } public boolean isEmpty(){ return this.rear==this.front; } public boolean deQueue(int value){ if(isEmpty()){ return false; } this.elem[front]=value; this.front=(this.front+1)%this.elem.length; this.usedSize--; return true; } public int Front(){ if(isEmpty()){ throw new UnsupportedOperationException("队列为空"); } return this.elem[this.front]; } public int Rear(){ if(isEmpty()){ throw new UnsupportedOperationException("队列为空"); } int index=this.rear == 0 ? this.elem.length-1 : this.rear-1; return this.elem[index]; }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。