好吧,通常你会跟踪第一个元素的索引和当前大小.如果大小等于数组的大小,则表示数组已满.排队新项目然后需要您增长数组.否则,你只需要写入元素(start + size + 1) % array_size.
当你使一个元素出列时,只需取出该元素start,用null覆盖它以允许垃圾收集,减量size和增量start,必要时包装为0.
要保持跟踪的替代start,并size为跟踪start和next-在next将要进入队列的下一个元素的索引.你发现阵列是否已满start == next.然后入队(当不满时)只需要你改变next,而出列只需要你改变start.和以前一样,你需要在递增或递减start/ 时换行next.