标签:empty 没有 ++ 需要 class ring 方法 print this
1 //创建一个队列类 2 class ArrayQueue{ 3 //定义基本数据 4 private int maxSize; 5 private int front=-1; 6 private int rear=-1; 7 private int[] arr; 8 //定义构造方法 9 public ArrayQueue(int maxSize) { 10 this.maxSize=maxSize; 11 arr=new int[maxSize]; 12 front=-1; 13 rear=-1; 14 } 15 //定义判断是否为空的方法 16 public boolean isEmpty() { 17 return front==rear; 18 } 19 //定义判断是否满的方法 20 public boolean isFull() { 21 return rear==maxSize-1; 22 } 23 //定义添加元素的方法 24 public void addQueue(int n) { 25 if(isFull()) { 26 System.out.println("队列已满,无法加入新元素!!"); 27 } 28 rear++; 29 arr[rear]=n; 30 } 31 //定义取出元素的方法 32 public int getQueue() { 33 if(isEmpty()) { 34 throw new RuntimeException("队列空,无法取出数据!!"); 35 //此处就不需要return了,throw自带该功能 36 } 37 return arr[++front]; 38 } 39 //定义显示全部队列的方法 40 public void showAll() { 41 if(isEmpty()) { 42 throw new RuntimeException("队列为空!!"); 43 } 44 for(int i=front+1;i<=rear;i++) { 45 System.out.print(arr[i]); 46 } 47 } 48 //定义显示头部的方法 49 public void showHead() { 50 if(isEmpty()) { 51 throw new RuntimeException("队列为空!!"); 52 } 53 System.out.println("队列头部为:"+arr[front+1]); 54 } 55 }
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 ArrayQueue a1=new ArrayQueue(7); 4 for(int i=1;i<=7;i++) { 5 a1.addQueue(i); 6 } 7 a1.showAll(); 8 System.out.println(); 9 System.out.println(a1.getQueue()); 10 a1.showAll(); 11 System.out.println(); 12 a1.showHead(); 13 14 }
运行结果
1234567
1
234567
队列头部为:2
标签:empty 没有 ++ 需要 class ring 方法 print this
原文地址:https://www.cnblogs.com/hbc314/p/12184440.html