java版数据结构如何创建一个循环队列

 我来答
百度网友b7ea76be85
推荐于2016-10-22 · 超过28用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:54.9万
展开全部
public class CircleQueue<T> {
private int maxSize;
private int head;//头部出 始终指向即将被取出的下标
private int tail;//尾部进 始终指向即将赋值的下标
private int size;
//tail和head在队列为空或为满的时候重合,用size是否为0来区分
private Object[] array;
public CircleQueue(int maxSize){
this.maxSize=maxSize;
array=new Object[this.maxSize];
}
public synchronized boolean put(T t){
if(size<maxSize){
array[tail]=t;
tail=(tail+1)%maxSize;
size++;
return true;
}else{
return false;
}
}

public synchronized T take(){
if(size>0){
T t=(T) array[head];
head=(head+1)%maxSize;
size--;
return t;
}else{
return null;
}

}
public int size(){
return size;
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式