跳到主要内容

常见错误

错误 1:Front/Rear 指针语义混淆

入队时操作 Front,出队时操作 Rear,或者认为 Rear 指向最后一个有效元素(实际指向下一个空位会导致指针更新逻辑错误)。

正解

  • Front:指向第一个有效元素
  • Rear/Tail:指向下一个空闲位置

错误 2:出队时忘记检查空队列

def Dequeue():
value = Queue[Front] # 若队列为空会越界
Front += 1
return value

正解:先检查 Front == -1 or Front >= Rear,空则返回 "Empty" 或 "false"。

错误 3:入队时忘记处理第一个元素

当队列为空时入队,必须将 Front 设为 0(除非指针初始化方式不同)。

错误 4:入队后忘记更新 Rear

Queue[Rear] = data
# 忘记 Rear += 1

错误 5:全局变量声明遗漏

在函数内修改队列指针必须先用 global 声明。

错误 6:队列满/空判断条件写错

线性队列的满条件是 Rear >= 数组大小,空条件是 Front == -1 or Front >= Rear

错误 7:Dequeue 返回值类型不一致

题目要求返回字符串 "false" 时不要返回布尔值 False,反之亦然。严格按照题目要求。

错误 8:主程序初始化为空值遗漏

每个元素必须初始化为空字符串 ""None,不能只声明数组。