栈:后进先出。
队列:先进先出。
队列:如果不要记录总数的nElems,那让数组容量比队列数据项个数的最大值还要大一
它的insert,delete,isEmpty,isFull方法,如下:
代码:
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()
{
long temp = queArray[front++];
if(front == maxSize)
front = 0;
return temp;
}
public boolean isEmpty()
{
return (rear+1==front||(front+maxSize-1==rear));
}
public boolean isFull(){
return (rear+2==front||(front+maxSize-2==rear));
}
}