跳到正文

3.2 队列的基本概念、队列的顺序实现·选择题讲评

40 分钟

3.2 选择题讲评:循环下标与空满约定

队列实现题第一行先写 front/rear 各指什么、是否牺牲槽位。公式只有依附于约定才有意义。

单选:容量 front 指队头、rear 指下一空位、牺牲一格,队满条件是 A rear==front;B (rear+1)%m==front;C rear==m;D front+1==rear。答案 B;A 是空。

计算:m=10,front=8,rear=3,元素数为 (3-8+10)%10=5,逻辑下标为 8、9、0、1、2。不能用绝对大小判断队头在队尾“后面”。

多选:关于带头结点链队列,正确的是 A 空时 front==rear;B 入队必须遍历链表;C 删除唯一数据结点后要复位 rear;D 入队可能因分配失败。答案 A、C、D。保存尾指针后入队为

双端队列题应画端点。某元素被其他元素夹在中间时,在任何只允许端点删除的结构中都不能立即输出。若题中允许边输入边输出,则不能假设所有元素先进入。

错解反馈:死记长度公式却不加模;默认数组容量等于可存元素数,忽略牺牲槽位;把链队列“无固定容量”误写成不会失败;序列题忽略操作可以交错。

迁移题(多选):牺牲一格的循环队列容量 6,front=4,rear=3。A 队空 B 队满 C 有5个元素 D 下一次入队必失败。答案 B、C、D,因为 (3+1)%6=4。验收要求同时用满条件和长度公式交叉验证。

小纸条

多选:循环队列容量6,front=4,rear=3且牺牲一格。A空 B满 C有5项 D入队失败

登录 后可看答案

Practice

本课练习

0

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

本课练习正在补齐,暂不应标记为完成。