[队列] 数组实现的队列
程序员文章站
2022-03-08 09:12:51
...
上代码
public class Queue<E> {
// 元素
private Object[] elements;
// 队列的容量
private int size = 0;
// 每次扩容的增量
private final int addCapacity = 10;
public Queue() {
elements = new Object[10];
}
public boolean isEmpty() {
return size == 0;
}
public E peek() {
if(isEmpty()) {
return null;
}
return (E)elements[0];
}
public E pop() {
if(isEmpty()) {
return null;
}
E out = (E)elements[0];
for(int i = 0; i < size - 1; i++) {
elements[i] = elements[i + 1];
}
size--;
return out;
}
public void push(E data) {
ensureCapacity();
elements[size++] = data;
}
private void ensureCapacity() {
if(size >= elements.length) {
elements = Arrays.copyOf(elements, size + addCapacity);
}
}
public static void main(String[] args) {
Queue<Integer> queue = new Queue<>();
for(int i = 1; i < 15; i++) {
queue.push(i);
}
while (queue.peek() != null) {
System.out.println(queue.pop());
}
}
}
控制面板打印
1
2
3
4
5
6
7
8
9
10
11
12
13
14
上一篇: 一款纯css实现的漂亮导航_html/css_WEB-ITnose
下一篇: Ubuntu新用户