Ваша очередь имеет пять элементов, и задняя часть может указывать на любой из них. Таким образом, фронт также может указывать на любой из пяти элементов и, таким образом, указывать пять состояний. Но если вы хотите, чтобы очередь содержала 0,1,2,3,4 или 5 элементов, это шесть разных состояний, чтобы различать guish. Вы пытаетесь поместить 6 голубей в 5 ям.
Чтобы круговая очередь работала, у вас есть три варианта: (1) добавить флаг «пусто» или «заполнен» для различения guish между этими двумя государствами; (2) добавить «счетчик заполнения», который также может использоваться для этой цели; или (3) смириться с тем, что никогда не помещаешь больше, чем N-1 элементов в свою очередь размера N.