首页 > 试题广场 >

在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行

[单选题]
在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行()。
  • delete q
  • q->next=p->next;delete p;
  • p->next=q->next;delete p;
  • p->next=q->next;delete q;
  • delete p;
  • q->next=p->next;delete q
推荐
答案:D
单链表中删除节点不能造成链表断裂
删除q节点之前要让q的前一个节点的指针域指向q的后一个节点,然后删除q
编辑于 2015-01-30 15:16:56 回复(3)
看到有好几位朋友不理解为什么删除q所指向的节点不是删除q的下一个节点,看看下图应该就比较清楚了,q所指向的节点。

编辑于 2015-08-19 13:32:55 回复(2)
d! 先连接,再删除
发表于 2017-05-21 10:41:59 回复(0)
注意看答案呀,不要随便选,一不小心就错了

发表于 2016-05-02 17:21:09 回复(1)
jvm头像 jvm
p->next 是q,删除q所指向的节点也就是q->next,那么应该是q->next=q->next->next;delete q->next.
所以无解
发表于 2015-08-17 22:06:34 回复(1)
选D
单链表中删除节点不能造成链表断裂
删除q节点之前要让q的前一个节点的指针域指向q的后一个节点,然后删除q
发表于 2020-06-25 19:14:51 回复(0)
让q指哪就让p指哪,指完后把q删了。相当于p指向的是p的next的next,跳过了q,再删除q就完事了。
发表于 2019-05-27 13:27:12 回复(0)
发表于 2019-04-15 16:45:52 回复(0)
d
发表于 2019-02-08 17:47:02 回复(0)
删除q所指向的节点,不是q的下一个节点吗?
我没理解错吧,黑人问号
发表于 2018-08-16 14:22:36 回复(1)
我眼瞎,看不清皮和开偶
发表于 2018-05-26 23:21:43 回复(0)
d
发表于 2018-03-24 18:00:14 回复(0)
D,直接写一个链表即可
发表于 2018-03-01 06:50:12 回复(0)
先把预删节点的后继处理好,再删除该节点。D
发表于 2016-10-07 23:28:48 回复(0)
d
发表于 2016-03-18 01:23:56 回复(0)
D:
发表于 2015-08-21 09:43:28 回复(0)
D
发表于 2015-08-19 21:57:08 回复(0)
删除q所指向的节点,q所指向的不应该是q的前一个节点吗?怎么是q本身呢。。。
发表于 2015-08-09 17:37:03 回复(3)
D
发表于 2015-07-25 22:01:00 回复(0)
D
p->next = p->next
p的指针域指向q的后一个节点(即要删除的节点)这样q节点被孤立出来,再释放q节点,这样q节点就被删除了

发表于 2015-07-19 21:24:19 回复(0)
D
发表于 2015-06-30 10:30:11 回复(0)