循环队列通过模运算循环使用空间。
仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。
审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。
【考点】循环队列实现|模运算应用
1. 考纲定位:GESP 六级数据结构的硬骨头——多数考生背过"循环队列"定义,却栽在"怎么实现"上。命题人专门卡住"循环"与"模运算"的绑定关系,测试你是否理解其底层空间复用机制。
2. 解题思维:看到"循环队列"先想"空间复用",核心就是让队首队尾在固定数组里转圈。数学工具必然是模运算:(head + 1) % size 保证不越界,(tail + 1) % size 保证复用。这是队列实现的标准通法,凡涉及固定数组的循环结构,本质都是模运算。
3. 陷阱拆解:B 选项"错误"的诱惑在于混淆概念——有人以为循环队列靠指针回绕,其实指针只是逻辑,空间复用必须靠算式。最阴险的是"循环"二字容易让人忽略"模运算"这个具体实现手段。若只背结论不理解本质,就会误以为"循环队列=指针回绕",掉进这个陷阱。
4. 反命题思维:改题把"模运算"换成"指针回绕",答案就变 B 了,因为指针本身不占用空间,复用必须靠算式。刷到类似题先问自己:命题人想考的是"循环"还是"实现方式"?