队列:只允许在表尾(队尾)进行插入,而在表头(队头)进行删除的线性表。
循环队列
- 初始(队空)时: 𝑸.𝒇𝒓𝒐𝒏𝒕==𝑸.𝒓𝒆𝒂𝒓==𝟎;
- 队满:(𝑸.𝒓𝒆𝒂𝒓+𝟏)%𝑴𝒂𝒙𝑺𝒊𝒛𝒆==𝑸.𝒇𝒓𝒐𝒏𝒕;
- 出队:𝑸.𝒇𝒓𝒐𝒏𝒕=(𝑸.𝒇𝒓𝒐𝒏𝒕+𝟏)%𝑴𝒂𝒙𝑺𝒊𝒛𝒆;
- 入队: 𝑸.𝒓𝒆𝒂𝒓=(𝑸.𝒓𝒆𝒂𝒓+𝟏)%𝑴𝒂𝒙𝑺𝒊𝒛𝒆;
- 队列长度: (𝑸.𝒓𝒆𝒂𝒓−𝑸.𝒇𝒓𝒐𝒏𝒕+𝑴𝒂𝒙𝑺𝒊𝒛𝒆)%𝑴𝒂𝒙𝑺𝒊𝒛𝒆;
- 出队入队:指针都按顺时针方向进1,先移动指针,再存取。【需要更具题目判断是先存取再移动,还是先移动再存取】