循环队列打印数据时变量要取模的原因:
代码:
//打印队列数据
public void display(){
if(isempty()){
System.out.println(“队列为空”);
return;
}
for (int i = flont; i < flont+number(); i++) {
System.out.printf(“array[%d]=%d”,i%max,array[i%max]);
System.out.println("");
}
//求出队列有效数据
public int number(){
return (rear+max-flont)%max;
}
}
一个图解释:
此时打印数据时 i的值会大于max(i<2+3),所以需要取模。