Java 队列中的循环数组

Java 队列中的循环数组,java,data-structures,queue,Java,Data Structures,Queue,mod如何用于确定队列中循环数组的开始和结束?通常,您会跟踪第一个元素的索引和当前大小。如果大小等于数组的大小,则表示数组已满。将一个新项目排队后,需要增加阵列。否则,只需写入元素start+size+1%数组大小 当您将一个元素出列时,您只需在开始时获取该元素,用null覆盖它以允许垃圾收集、减小大小和递增开始,必要时包装为0 跟踪开始和大小的另一种方法是跟踪开始和下一个,其中下一个是要排队的下一个元素的索引。当start==next时,可以发现数组是否已满。然后,在未满时排队只需要您更改“下

mod如何用于确定队列中循环数组的开始和结束?

通常,您会跟踪第一个元素的索引和当前大小。如果大小等于数组的大小,则表示数组已满。将一个新项目排队后,需要增加阵列。否则,只需写入元素start+size+1%数组大小

当您将一个元素出列时,您只需在开始时获取该元素,用null覆盖它以允许垃圾收集、减小大小和递增开始,必要时包装为0


跟踪开始和大小的另一种方法是跟踪开始和下一个,其中下一个是要排队的下一个元素的索引。当start==next时,可以发现数组是否已满。然后,在未满时排队只需要您更改“下一步”,而退队只需要您更改“开始”。如前所述,在递增或递减开始/下一步时需要换行。

在循环数组中,队列后部是前面+队列中元素的数量\u-队列的1 mod size\u,每次出列后应跟踪队列的前面