K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知双向链表的节点结构体定义如下:
struct Node { int data; Node* prev; // 指向直接前驱节点 Node* next; // 指向直接后继节点 };
现需删除链表中既不是头节点也不是尾节点的中间节点p,所有指针均合法有效,仅考虑指针调整逻辑,无需考虑内存释放。
p->prev->next = p->next; p->next->prev = p->prev;
p->next = p->prev->next; p->prev = p->next->prev;
p->prev->next = p; p->next->prev = p;
p->next->prev = p->prev; p->prev = p->next;