队列
程序员文章站
2022-03-14 15:07:21
...
队列
队列知识
队列是一种先入先出的数据结构,和现实生活中的排队一样。
队尾入队,队头出队。
初始化
接口
public interface Queue<T> {
//出队
T deque();
//入队
boolean enque(T t);
//大小
int size();
}
public class ArrayQueue<T> implements Queue<T> {
private int size,head,tail;
private int capacity = 10;
private T[] queue;
public ArrayQueue(){
queue = (T[]) new Object[capacity];
}
public ArrayQueue(int capacity){
this.capacity = capacity;
queue = (T[]) new Object[capacity];
}
}
入队
@Override
public boolean enque(T t) {
if(size==capacity||t==null){
return false;
}
queue[tail] = t;
++size;
tail = (tail+1)%capacity;//循环队列防止假溢出
return true;
}
出队
@Override
public T deque() {
if(size==0)
return null;
T temp = queue[head];
queue[head] = null;
--size;
head = (head+1)%capacity;//循环队列防止假溢出
return temp;
}
上一篇: php动态添加url查询参数的方法
下一篇: GO语言gin框架实现管理员认证登陆接口