-
示意图
-
代码
public class QueueByArray {
String [] queue = new String [5];
// 具体元素个数
int tail = 0;
public static void main(String[] args) {
QueueByArray queueByArray = new QueueByArray();
queueByArray.add("Hello");
queueByArray.add("World");
queueByArray.delete();
queueByArray.add("Test1");
queueByArray.add("Test2");
queueByArray.add("Test3");
queueByArray.add("Test4");
queueByArray.add("Test5");
}
// 添加,在队尾
private void add(String element) {
if (tail == queue.length) {
System.out.println("队列已满,添加失败\n");
return;
}
queue[tail] = element;
++tail;
System.out.println(Arrays.toString(queue)+"\n");
}
// 删除,在队头
private void delete() {
if (tail == 0) {
System.out.println("队列为空,删除失败\n");
return;
}
// 数组删除第一个元素,移动步数位 n - i = tail - 1
for (int i = 0; i < tail; i++) {
queue[i] = queue[i+1];
}
--tail;
System.out.println(Arrays.toString(queue)+"\n");
}
}
- 结果对比
queueByArray.add("Hello");
queueByArray.add("World");
queueByArray.delete();
queueByArray.add("Test1");
queueByArray.add("Test2");
queueByArray.add("Test3");
queueByArray.add("Test4");
queueByArray.add("Test5");