java - 队列的数组实现

标签 java arrays data-structures queue

我的教授给我们做了一个关于队列的数组实现的测验,其中一个问题如下:

经过多次入队、出队操作后,您的队列是否会失去对数组的访问权限?多少?为什么?

我的答案如下:使用队列的数组实现的缺点之一是数组的大小是固定的。我们需要事先知道将进入队列的元素数量。当我们运行入队和出队操作时,我们将浪费数组中的大量空间,并且在一段时间后,我们将失去对数组的访问,因为我们最终将耗尽数组中的空间。如果我们使用基于循环数组的队列实现,则可以轻松避免空间问题。

我不确定我是否正确回答了这个问题。但我们怎么知道会浪费多少空间呢? 请帮忙!

最佳答案

如果您使用静态长度数组,则必须在 LEN 连续入队后停止队列操作,或在 LEN 连续出队后停止出队操作。

LEN 是数组长度的常量。

如果您使用动态数组,则根本不会遇到这个问题。

将其设为循环根本没有帮助。

关于java - 队列的数组实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36969450/

相关文章:

java - printf 运算符中使用 % 是否重载?如果不是,那是什么?

java - 如何在 java 中下载/导出 .txt 文件?

debian - 在 Debian Squeeze 上调用 javac 时出错

PHP 数组到树

java - 给定一个节点,如何在单链表中找到前一个节点

java - 为什么 Eclipse 2018-12 会询问是否创建模块的问题?

php - mysql 查询需要一些循环或数组

java - 将数据导入二维公共(public)数组

python - 递归:为什么函数返回数字的阶乘而不是返回 1?

java - 不使用数据库存储表数据的最佳方法?