我的教授给我们做了一个关于队列的数组实现的测验,其中一个问题如下:
经过多次入队、出队操作后,您的队列是否会失去对数组的访问权限?多少?为什么?
我的答案如下:使用队列的数组实现的缺点之一是数组的大小是固定的。我们需要事先知道将进入队列的元素数量。当我们运行入队和出队操作时,我们将浪费数组中的大量空间,并且在一段时间后,我们将失去对数组的访问,因为我们最终将耗尽数组中的空间。如果我们使用基于循环数组的队列实现,则可以轻松避免空间问题。
我不确定我是否正确回答了这个问题。但我们怎么知道会浪费多少空间呢? 请帮忙!
最佳答案
如果您使用静态长度数组,则必须在 LEN 连续入队后停止队列操作,或在 LEN 连续出队后停止出队操作。
LEN 是数组长度的常量。
如果您使用动态数组,则根本不会遇到这个问题。
将其设为循环根本没有帮助。
关于java - 队列的数组实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36969450/