public class MyQueue {
private Object[] obj={};
private int rear = 0;
private int head = 0;
public MyQueue(int size){
obj = new Object[size];
}
public boolean add(Object o){
if(rear < obj.length-1){
obj[rear++] = o;
return true;
}
return false;
}
//FIFO,move queue head element
public Object remove(){
Object o = null;
if(empty()){
System.out.println("Queue empty,exit...");
return null;
}
o = obj[head];
obj[head] = null; //移走做置空处理
head++;
return o;
}
//返回队首元素,不挪走
public Object peek(){
Object o = null;
if(!this.empty())
o = obj[head];
return o;
}
public boolean empty(){
if(head == rear)
return true;
return false;
}
public static void main(String[] args){
int[] iarr = {1,2,3,4};
MyQueue mq = new MyQueue(4);
for(int v:iarr){
mq.add(v);
}
System.out.println("queue add finish!");
System.out.println("remove element-->"+mq.remove());
System.out.println("peek element-->"+mq.peek());
}
}
数据结构-队列
最新推荐文章于 2025-08-17 21:14:48 发布