大家早上好,今天学习一下数据结构之队列。
队列是一种非常重要的数据结构,就像排队买票一样,队列数据结构是在队头移出数据,在队尾插入数据。那么在Java程序中该如何描述队列数据结构呢?肯定要在类中有队头游标和队尾游标(不然怎么表示入队和出队呢?),当然还得有一个数组属性表示队列中的数据。
且看代码:
classMyQueue
{
privateintmaxSize;//表示队列长度
privatelong[]data;//表示队列数据
privateintfront;//队头
privateintrear;//队尾
privateintnItems;//元素个数
publicMyQueue(ints)//构造方法初始化
{
this.maxSize=s;
this.data=newlong[maxSize];
front=0;//队头开始位置
rear=-1;//队尾开始位置
nItems=0;
}
publicvoidinsert(longj)//入队
{
/*
*入队之前先判断是否已满
*/
if(rear==maxSize-1)
{
rear=-1;
}
data[++rear]=j;
nItems++;//元素个数加1
}
publiclongremove(){//出队
longtemp=data[front++];
if(front==maxSize){//循环处理
front=0;
}
nItems--;//元素个数减一
returntemp;
}
publiclongpeekFront(){//查看队列头元素
returndata[front];
}
publicbooleanisEmpty(){//判断是否为空队列
returnnItems==0;
}
publicbooleanisFull(){//判断队列是否已满
returnnItems==maxSize;
}
publicintsize(){//队列的元素个数
returnnItems;
}
}
这就是今天学习的内容,大家加油~~~
赞赏
人赞赏
北京市白癜风医院哪家最好看白癜风的医院哪家好