java算法,队列为空和已满?

thisisall 2009-11-07 07:39:07
下面代码中,为空和已满,什么意思?为什么那么表示?
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;
}

}
...全文
107 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdeepblue 2009-11-08
  • 打赏
  • 举报
回复
循环队列,书上有的
就是rear会折返到front的前面,所以注意点是临界条件的判断

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧