package queue; public class Queue { //定义数组的最大长度 private int maxsize; //定义数组 private int[] arr; //定义头指针 private int front; //定义尾指针 private int end; //定义计数器 private int count; public Queue(int maxsize) { this.maxsize = maxsize; //获取数组长度 arr = new int[maxsize]; //创建数组 front = 0; end = 0; count=0; } // 入队 public void add(int data) { if(front==end && count==arr.length) { System.out.println("队列已满,无法添加数据。"); }else { arr[end] = data; count++; end=(end+1) % arr.length; } } // 出队 public void delete() { if(end==front && count==0) { System.out.println("队列已空。"); } else { count--; front=(front+1) % arr.length; } } // 打印输出队列 public void printArr() { if(end==front && count==0) { System.out.println("队列已空,无法输出数据。"); } else { if(front<end) { for (int i = front; i<end; i++) { System.out.println(arr[i]+" "); } } if(end<=front) { int j=front; for (int i = front; i<(end+arr.length);i++ ) { System.out.println(arr[j]+" "); j=(j+1)%arr.length; } } } } public static void main(String[] args) { //创建队列数组 Queue aq = new Queue(5); //入队 // aq.add(23); aq.add(55); aq.add(66); aq.add(77); aq.add(89); aq.add(90); //出队 // aq.delete(); // aq.delete(); // // aq.add(40); // aq.add(15); aq.delete(); aq.delete(); aq.add(89); aq.add(90); //打印队列 aq.printArr(); } }
java中用数组实现队列操作的方法之一
最新推荐文章于 2024-09-15 19:46:31 发布