第30232题 单选题
在C++实现的双向链表中,删除非头非尾的中间节点p时,以下操作序列正确的是?

已知双向链表的节点结构定义如下:

struct DNode {
    int data;
    DNode *prev; // 指向直接前驱节点
    DNode *next; // 指向直接后继节点
};

现有一非空双向链表,指针p指向其中既不是头节点也不是尾节点的中间节点,不考虑内存释放操作,以下操作序列可以正确删除p指向节点的是?

A

p->prev->next = p->next; p->next->prev = p->prev;

B

p->next = p->prev->next; p->prev = p->next->prev;

C

p->next->prev = p->prev; p->prev = p->next->prev;

D

p->prev->next = p; p->next->prev = p;

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析