版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010369338/article/details/71727049
数组实现队列有两个缺点
1、会出现”假溢出”
2、低位空间无法重复利用(出队之后的空间)
队列
队尾进
队首出
FIFO(First In First Out)
数组队列类:
public class QueueArrays {
/**
* 队尾插入
* 队首取出
*/
public int front = -1,real = -1;
public int size = 100;
public String[] arrays;
public QueueArrays(int size) {
this.size = size;
arrays = new String[size];
}
public QueueArrays() {
arrays = new String[size];
}
public void inQueue(String data) {
/**
* 还有空余
*/
if(real < size) {
arrays[++real] = data;
}
}
public String outQueue() {
/**
* 队首不等于队尾
* 或者说
* 队首小于队尾
*/
if(front != real) {
return arrays[++front];
}
return null;
}
public void display() {
for (int i = front + 1; i <= real; i++) {
System.out.println(arrays[i]);
}
}
public boolean isEmpty() {
/**
* 队首和队尾的指针比较造成了假溢出的问题
*/
return front == real;
}
}