Это сделано для реализации циклической очереди, то есть для возврата к началу массива каждый раз, когда задние или головные счетчики достигают конца массива.
Когда задний счетчик меньше длины массива, задний% длина =Rear.
Когда задний счетчик равен длине массива, задний% длины дает 0, а задний счетчик переходит на следующий круг.
Наконец, когда задний элемент больше длины массива, задний% длинывернет значение, меньшее длины массива и равное задаче - (array.length * количество пройденных окружностей).
Таким образом, путем деления задней части по длине мы получим остаток, который является следующей позицией для элемента, которыймы хотим поместить в конец очереди.