顺序队(SequenceQueue)
/**
*
* 队列可以插入的一端被称为队尾,可以删除的一端被称为队列头,
* 所以队列的典型特征就是队尾插入,队头删除
*
*
*/
public class ShunxuQueue{
int front = 0;
int rear = 0;
Object[] objArray;
public ShunxuQueue(int n){
objArray = new Object[n];
}
public void clear() {
objArray = null;
front = rear = 0;
}
public boolean isEmpty() {
return front == rear;
}
public int length() {
return rear - front;
}
public Object peek() {
if(objArray!=null)
return objArray[front];
return null;
}
public void offer(Object object) throws Exception{
rear++;
if(rear<=objArray.length)
objArray[rear-1] = object;
else
throw new Exception("队列已满");
}
public Object poll() {
if(front!=rear){
Object obj = objArray[front];
front++;
return obj;
}
return null;
}
}
Last updated