我的教授给了我们一个关于队列数组实现的测验,其中一个问题如下:
在多次入队后,出队操作会导致您的队列失去对阵列的访问权限吗?多少?为什么?
我的回答如下:使用队列的数组实现的一个缺点是数组的大小是固定的。我们需要知道先前将进入队列的元素数量。当我们运行enqueue和dequeue操作时,我们将在数组中浪费大量空间,经过一段时间后,我们将无法访问数组,因为我们最终会在数组中运行空间。如果我们使用基于循环数组的队列实现,则很容易避免空间问题。
我不确定我是否正确回答了这个问题。但我们怎么知道会浪费多少空间呢? 请帮忙!
答案 0 :(得分:0)
如果您正在使用静态长度数组,则必须在LEN连续排队后停止队列操作,或者在LEN连续出列后停止出列操作。
LEN是数组长度的常数。
如果你正在使用动态数组,那么你根本就不会遇到这个问题。
制作通告不会有任何帮助。