Java实现队列
初次学习队列记录一下…我这里实现的队列是用内置List写的,当然也可以用链表形式来写
代码很简单,一看就懂,直接上代码
package Queue;
import java.util.ArrayList;
import java.util.List;
public class MyCircularQueue {
private List<Integer> list;
private Integer length;
private Integer size = 0;
public MyCircularQueue(Integer length){
this.list = new ArrayList<Integer>();
this.length = length;
}
/**
* 获取队尾元素
* @return
*/
public Integer Rear(){
if (this.list.size() == 0){
return -1;
}
return this.list.get(this.size);
}
/**
* 获取队首元素
* @return
*/
public Integer Front(){
if (this.list.size() == 0){
return -1;
}
return this.list.get(0);
}
/**
* 删除元素
* @return
*/
public boolean deQueue(){
if (this.list.size() == 0){
return false;
}
this.list.remove(0);
return true;
}
/**
* 插入元素
* @param i
* @return
*/
public boolean enQueue(Integer i){
if (this.list.size() < this.length){
this.list.add(i);
this.size += 1;
return true;
}
return false;
}
/**
* 判断是否为空
* @return
*/
public boolean isEmpty() {
if (this.list.size() == 0){
return true; //为空
}
return false; //不为空
}
/**
* 判断是否满了
* @return
*/
public boolean isFull() {
if (this.list.size() == this.length){
return true; //满了
}
return false; //不满
}
/**
* print数据
*/
public void print(){
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
emmm今天的学习笔记十分敷衍呐…本来是在更新二叉树的,结果有一道题不会做要先来学队列才能做那道题