队列的特性:先进先出
就好比我们排队打饭,先排的先打着饭;
如果解决某个问题时数据的插入和删除操作满足先进先出的特点,那么可以考虑使用队列来实现。
队列的两个基本操作:入队 和 出队;
利用数组实现队列的代码:
public class Queen {
private int[] data = new int[10];
private int start = 0;
private int end = 0;
public boolean push(int d) {
if (end < data.length) {
data[end] = d;
end ++;
return true;
}
System.out.println("队列已满");
return false;
}
public int pull() {
int t = Integer.MAX_VALUE;
if (start < end) {
t = data[start];
start ++;
}else {
System.out.println("队列已空");
}
return t;
}
public static void main(String[] args) {
Queen queen = new Queen();
queen.push(1);
queen.push(2);
queen.push(3);
queen.push(4);
queen.push(5);
queen.push(6);
System.out.println(queen);
System.out.println(queen.pull());
System.out.println(queen.pull());
System.out.println(queen.pull());
System.out.println(queen.pull());
System.out.println(queen.pull());
System.out.println(queen.pull());
System.out.println(queen.pull());
}
}
结果: