java算法,队列为空和已满?
下面代码中,为空和已满,什么意思?为什么那么表示?
public class Queue {
private int maxSize;
private long[] queArray;
private int front;
private int rear;
public Queue(int s){
maxSize=s+1;
queArray=new long[maxSize];
front=0;
rear=-1;
}
public void insert(long j){
if(rear==(maxSize-1))
rear=-1;
queArray[++rear]=j;
}
public long remove(){
if(front==maxSize-1)
front=0;
return queArray[front++];
}
public long peek(){
return queArray[front];
}
public boolean isEmpty(){
return (rear+1==front)||(front+maxSize-1==rear);
}
public boolean isFull(){
return (rear+2==front)||(front+maxSize-2==rear);;
}
public int size(){
return nItems;
}
}