【发布时间】:2018-06-06 17:17:37
【问题描述】:
void enqueue( int item)
{
if (is Full(this))
return;
this.rear = (this.rear + 1)%this.capacity;
this.array[this.rear] = item;
this.size = this.size + 1;
System.out.println(item+ " enqueued to queue");
}
问题是——为什么我们必须这样做 this.rear = (this.rear + 1)%this.capacity;在java中制作入队函数时?
【问题讨论】:
-
它正在递增
rear但会环绕,因此它保持在数组的范围内。如果this.rear等于this.capacity-1(数组的结尾),则(this.rear+1)%this.capacity的计算结果为零(数组的开头)。
标签: java data-structures queue