文章

62

粉丝

0

获赞

0

访问

9.8k

头像
2019年(408)计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年11月6日 16:57
阅读数 132

(1)
链式存储结构,因为入队支持动态扩容。

(2)
初始状态:head和tail同时指向一个空节点

队空: head == tail
队满:tail->next = head

(3)
将第一个元素放入tail指向的节点,new一个新的空节点p, tail->next = p, tail = p, tail->next = head

(4)
入队:若tail->next != head,则直接将元素入队到tail->next,tail = tail->next;否则new一个新的空节点p, tail->next = p, tail = p, tail->next = head。
出队:若head == tail,则队列为空,无序操作;否则head = head->next。


评分及理由

(1)得分及理由(满分2分)

学生正确选择了链式存储结构,并给出了合理理由(动态扩容),与标准答案一致。得2分。

(2)得分及理由(满分4分)

初始状态描述正确(head和tail指向空节点)。队空条件正确(head == tail)。但队满条件"tail->next = head"表述不准确,应该是判断tail的下一个节点是否为head,标准答案用"Q.front == Q.rear->next"更精确。扣1分。得3分。

(3)得分及理由(满分2分)

描述基本正确:第一个元素放入tail指向节点,新建空节点,形成循环链表。但表述不够严谨,没有明确说明front和rear的具体指向变化。扣0.5分。得1.5分。

(4)得分及理由(满分2分)

入队操作逻辑基本正确,但条件判断"tail->next != head"与队满条件表述不一致,且没有先判断队满就直接操作,逻辑顺序有误。出队操作缺少返回元素值的步骤。扣1分。得1分。

题目总分:2+3+1.5+1=7.5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发