赞
踩
循环队列的作用是为了解决假溢出的问题。
消除假溢出就是当队尾指针rear和队头指针front到达存储空间最大值QueueSize时,让队尾指针自动转化为存储空间的最小值0。
再插入数据 6
下面就说明如何实现上面的操作。
想要实现这些主要要明白几个判断条件和下标的转换。
front%data.length, rear%data.length
front%data.length == (rear+1)%data.length,
- public class CircularQueue {
- public int[] data = new int[5];
- public int rear = 0;
- public int front = 0;
-
- public void push(int a){
- if(front%data.length == (rear+1)%data.length){
- System.out.println("队列满了,插入不进去");
- }else {
- System.out.println("插入了数据a"+a+"再数组下标为"+rear%data.length);
- data[rear++%data.length]=a;
- }
- }
-
- public int pop(){
- if (rear==front){
- System.out.println("对列以空");
- return 0;
- }
- System.out.println("取出数值是"+data[front%data.length]);
- return data[front++%data.length];
- }
- public int getLength(){
- return (rear-front+data.length)%data.length;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。