正在载入在线练习界面,本页内容可直接阅读…

AK CSP › NOIP 提高 2015 第一轮真题 › 第 13 题

NOIP 提高 2015 第一轮 第 13 题:双向链表中有两个指针域,1link和rlink,分别指回前驱及后继,设p指向链表

单项选择 · 线性表、栈与队列 · 答案 D

题目

双向链表中有两个指针域,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号