package java队列;
public class Queue {
private int maxSize;
private Object[] data;
private int front;
private int rear;
private int count;
/**
* 初始化队列
* @param maxSize
*/
public Queue(int maxSize){
this.maxSize = maxSize;
data = new Object[maxSize];
front = 0;
rear = -1;
count = 0;
}
/**
* 入队列
* @param args
*/
public void push(Object data){
if(rear == maxSize-1){
rear = -1;
}
this.data[++rear] = data;
count++;
}
/**
* 出队列
* @param args
*/
public Object pop(){
Object temp = this.data[front++];
if(front == maxSize){
front = 0;
}
count--;
return temp;
}
/**
* 判断是否空
* @param args
*/
public boolean isEmpty(){
return count == 0;
}
/**
* 判断是否满
* @param args
*/
public boolean isFull(){
return count == maxSize;
}
/**
* 返回元素个数
* @param args
*/
public int getCount(){
return count;
}
public static void main(String[] args) {
Queue q = new Queue(5);
q.push(1);
q.push(2);
q.push(3);
System.out.print(q.pop() + "," + q.pop() + "," + q.pop());
}
}
java专题——队列
最新推荐文章于 2021-06-29 19:44:09 发布