队列
队列(queue),是一种特殊的线性表,是运算受到限制的一种线性表,只允许在表的 一端进行插入,而在另一端进行删除元素的线性表。操作方式 先进先出
队尾: 队列进口
队头: 队列出口
进队: 插入队列
出队: 删除队列
队列的基本操作类型
初始化、入队、出队、清空队列、队列是否为空、获取队头元素、获取所有元素···等
例子:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class MyQueue{
//队列
private List queue = null;
//头索引
private int Head;
private final int MAX = 100;
//初始化(1)
public MyQueue(){
queue = new ArrayList();
this.Head = 0;
}
//入队(2)
public boolean AddQueue(Object data){
if (queue == null || queue.size() >= MAX){
return false;
}
queue.add(data);
return true;
}
//出队(3)
public boolean DeQueue(){
if (queue == null || queue.size() <= 0){
return false;
}
//出队后置空
queue.set(this.Head , null);
this.Head++;
return true;
}
//清空队列(4)
public boolean DestoryQueue(){
for (int i = 0; i < queue.size(); i++) {
queue.remove(queue.get(this.Head));
}
System.gc();
return true;
}
//队列是否为空(5)
public boolean isEmpty(){
return this.Head >= queue.size();
}
//获取队头元素(6)
public Object GetHead(){
return queue.get(this.Head);
}
//获取所有元素(7)
public Object[] arrayQueue(){
Object[] array = new Object[queue.size()];
Iterator it = queue.iterator();
int n = 0;
while (it.hasNext()){
Object tmp = it.next()