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() + " ");
}
}
}
數據結構03.1 隊列模擬(數組)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.