题32

题目


【2016 统考真题】已知一个带有表头结点的双向循环链表 ,结点结构为 prev data next , 其中 prev 和 next 分别是指向其直接前驱和直接后继结点的指针. 现要删除指针 所指的结点,正确的语句序列是 ( ).
A.

p->next->prev = p->prev;
p->prev->next = p->next;
free(p);

B.

p->next->prev = p->next;
p->prev->next = p->next;
free(p);

C.

p->next->prev = p->next;
p->prev->next = p->prev;
free(p);

D.

p->next->prev = p->prev;
p->prev->next = p->next;
free(p);

分析

D
的第二句代码,相当于将 前驱结点的后继指针指向其自身,错误;
的第一句代码, 相当于将 后继结点的前驱指针指向其自身,错误。只有 正确。