您的位置:首页 > 理论基础 > 数据结构算法

数据结构03.1 队列模拟(数组)

2012-05-12 21:39 106 查看
package aa.bb.cc.demo01;

import javax.lang.model.util.Elements;

public class MyCycleQueue {

//底层使用数组
private long[] arr;
//有效数据的大小
private int elements;
//对头
private int front;
//队尾
private int end;

//默认无参构造
public MyCycleQueue(){
arr = new long[10];
elements = 0;
front = 0;
end = -1;
}

//带参数的构造方法,参数为数组的大小
public MyCycleQueue(int maxSize){
arr = new long[maxSize];
elements = 0;
front = 0;
end = -1;
}

//添加数据,从队尾插入
public void insert(long value){
arr[++end] = value;
elements++;
}

//删除数据,从对头删除
public long remove(){
elements--;
return arr[front++];
}

//查看数据,从对头查看
public long peek(){
return arr[front];
}

//判断是否为空
public boolean isEmpty(){
return elements == 0;
}

//判断是否满的
public boolean isFull(){
return elements == arr.length;
}

/**
* @param args
*/
public static void main(String[] args) {
MyCycleQueue mq = new MyCycleQueue(4);
mq.insert(23);
mq.insert(45);
mq.insert(13);
mq.insert(1);

System.out.println(mq.isFull());
System.out.println(mq.isEmpty());

System.out.println(mq.peek());

System.out.println("---------------------");

while(!mq.isEmpty()){
System.out.print(mq.remove() + " ");
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: