信息技术来源:金华十校2026年4月高三模拟考试
第 11 题
答案与解析
本题解析
参考答案
A
程序分析
p, q = heada, headb
while p != -1 and q != -1:
temp = linkb[q][1]
q = tempheada、headb是男生、女生链表的头指针,分别保存各链表首结点的下标。p、q取得这两个下标后,从各自首结点开始处理;结点记录中下标1的字段保存后继结点下标,-1表示没有后继。每轮先把当前女生结点的原后继下标保存到temp,最后用q=temp转向下一位女生。这样,修改当前女生结点的链接后,仍能找到原女生链表中的后续结点。
填空分析
加框处
本轮要把q指向的女生结点插在p指向的男生结点之后,使链接由“当前男生→下一位男生”变为“当前男生→当前女生→下一位男生”。
插入前,linka[p][1]保存下一位男生的下标。先执行② linkb[q][1] = linka[p][1],把女生结点的后继改为下一位男生;再执行③ linka[p][1] = q,把当前男生的后继改为当前女生。若先执行③,就会覆盖下一位男生的下标。
下一轮p应指向下一位男生,该下标已保存在linkb[q][1]中,所以执行⑥ p = linkb[q][1]。若执行⑤,p取得的则是③刚写入的女生下标。
女生处理完后q=-1,循环结束。男生人数较多,尚未插入女生的男生结点继续保留原有链接。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_jinhuashixiao_q011
