正在载入在线练习界面,本页内容可直接阅读…
AK CSP › NOIP 提高 2015 第一轮真题 › 第 13 题
NOIP 提高 2015 第一轮 第 13 题:双向链表中有两个指针域,1link和rlink,分别指回前驱及后继,设p指向链表
题目
双向链表中有两个指针域,llink 和 rlink,分别指回前驱及后继,设 $p$ 指向链表中的一个结点,$q$ 指向一待插入结点,现要求在 $p$ 前插入 $q$,则正确的插入为( )。
选项
- A. p->llink = q; q->rlink = p; p->llink->rlink = q;q->llink = p->llink;
- B. q->llink = p->llink; p->llink->rlink = q; q->rlink = p;p->llink = q->rlink;
- C. q->rlink = p; p->rlink = q;p->llink->rlink = q; q->rlink = p;
- D. p->llink->rlink = q; q->rlink = p;q->llink = p->llink; p->llink = q;
答案
D
题解
考点定位
本题考「双向链表插入」,对应大纲 3.2.3 链表(难度【3】)。
解题过程
在 p 前插入 q:q->llink=p->llink、p->llink->rlink=q、q->rlink=p、p->llink=q。逐项核对选项:
- D(官方):
p->llink->rlink = q; q->llink = p->llink; q->rlink = p; p->llink = q;——先接前驱、再自连、最后改 p 的 llink ✓。
选 D。
易错提醒
① 「先保存再覆盖」:p->llink 被改前先让前驱指向 q;② 画四个箭头逐一核对。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号