package sort.Queue;
public class Queue {
private long[] queArray;
private int maxSize;
private int front;
private int rear;
private int nItems;
public Queue(int s) {
maxSize = s;
queArray = new long[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
public void insert(long i) {
if(rear == maxSize-1) rear = -1; // 队列已满
queArray[++rear] = i;
nItems++;
}
public long remove() {
long temp = queArray[front++];
if (front == maxSize) front = 0; //队列为空,元素全删
nItems--;
return temp;
}
public long peekFront() {
return queArray[front];
}
public boolean isEmpty() {
return nItems==0;
}
}
package sort.Queue;
public class QueueApp {
public static void main(String[] args) {
Queue queue = new Queue(10);
queue.insert(10);
System.out.println("queue head element: " + queue.peekFront());
queue.insert(9);
System.out.println("queue head element: " + queue.peekFront());
queue.insert(45);
System.out.println("queue head element: " + queue.peekFront());
queue.insert(89);
System.out.println("queue head element: " + queue.peekFront());
System.out.println("delete:" + queue.remove());
System.out.println("delete:" + queue.remove());
queue.insert(4);
queue.insert(99);
System.out.println("queue head element: " + queue.peekFront());
System.out.print("queue elements:");
while(!queue.isEmpty()) {
System.out.print("\t" + queue.remove());
}
System.out.println();
}
}
运行结果:
queue head element: 10
queue head element: 10
queue head element: 10
queue head element: 10
delete:10
delete:9
queue head element: 45
queue elements: 45 89 4 99