队列:数据项遵循先进先出,就像是排队上车一样,排在最前面的最先上车,排在最后面的最后一个上车
java代码:
java代码:
package com.gjy.queue;
public class Queue {
private int maxSize;
private long [] a;
private int front;//队头
private int rear;//队尾
private int nItems;//计数器
public Queue(int x){
this.maxSize = x ;
this.a = new long[maxSize];
this.front = 0;
this.rear = -1;
this.nItems = 0;
}
public void insert(long j){
if(rear == maxSize-1){
rear = -1;
}
a[++rear] = j;
nItems++;
}
public long remove(){
long temp = a[front++];
if(front == maxSize){
front = 0;
}
nItems--;
return temp;
}
public long peekFront(){
return a[front];
}
public boolean isEmpty(){
return (nItems == 0);
}
public boolean isFull(){
return (front == maxSize);
}
public int size(){
return nItems;
}
public static void main(String[] args) {
Queue queue = new Queue(5);
queue.insert(30);
queue.insert(40);
queue.insert(50);
queue.insert(60);
queue.insert(70);
long a = queue.peekFront();
System.out.println(a);
while(!queue.isEmpty()){
long n= queue.remove();
System.out.println(n);
}
}
}