java循环队列实现代码

2019-09-23 09:15:29来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

java循环队列实现代码

 1 public class Queue {
 2     //队首指针
 3     private int front;
 4     //队尾指针
 5     private int rear;
 6     //数组
 7     private int[] arr;
 8     //数组最大长度
 9     private int maxSize;
10 
11     //初始化队列长度
12     public Queue(int maxSize){
13         this.maxSize = maxSize;
14         arr = new int[maxSize];
15     }
16 
17     //是否为空
18     public boolean isEmpty(){
19         if (front == rear){
20             return true;
21         }
22         else
23             return false;
24     }
25 
26     //是否为满队列
27     public boolean isFull(){
28         if(front == (rear+1)%maxSize){
29             return true;
30         }
31         else
32             return false;
33     }
34 
35     //计算当前元素个数
36     public int queueSize(){
37         return (rear + maxSize - front) % maxSize;
38     }
39 
40     //进队
41     public void enQueue(int x){
42         //判断是否为满队列
43         if(isFull()){
44             throw new RuntimeException("队列已满,无法插入新元素");
45         }
46         arr[rear] = x;
47         rear = (rear+1)%maxSize;
48     }
49 
50     //出队
51     public int deQueue(){
52         if(isEmpty()){
53             throw new RuntimeException("队列为空,无法出队元素");
54         }
55         int value = arr[front];
56         front = (front + 1)%maxSize;
57         return value;
58     }
59 
60     //显示队列里的数据
61     public void showQueue(){
62         if(isEmpty()){
63             System.out.println("队列为空");
64             return;
65         }
66         for (int i = front; i < front + queueSize() ; i++){
67             System.out.println("arr[" + i + "] = " + arr[i]);
68         }
69         return;
70     }
71 }

 


原文链接:https://www.cnblogs.com/henabo/p/11568359.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:HttpClient远程接口调用-实名认证

下一篇:java中的锁