K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知双向链表节点定义如下:
struct Node { int data; Node* prev; // 指向前驱节点 Node* next; // 指向后继节点 };
现要删除链表中非头、非尾的中间节点p,无需考虑头/尾节点的边界处理。
p->prev->next = p->next; p->next->prev = p->prev; delete p;
p->next = p->prev->next; p->prev = p->next->prev; delete p;
p->prev->next = p; p->next->prev = p; delete p;
delete p; p->prev->next = p->next; p->next->prev = p->prev;