首页 > 试题广场 > 在一个单链表中,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

28个回答

添加回答
  • 推荐
    答案:D
    单链表中删除节
       查看全部
    编辑于 2015-01-30 15:16:56 回复(3)
  • 看到有好几位朋友不理解为什么删除q所指向的节点不是删除q的下一个节点,看看下图应该就比较清楚了,q所指向的节点。

    编辑于 2015-08-19 13:32:55 回复(2)
  • 先把预删节点的后继处理好,再删除该节点。D
    发表于 2016-10-07 23:28:48 回复(0)
  • 注意看答案呀,不要随便选,一不小心就错了

    发表于 2016-05-02 17:21:09 回复(1)
  • d
    发表于 2016-03-18 01:23:56 回复(0)
  • D:
    发表于 2015-08-21 09:43:28 回复(0)
  • D
    发表于 2015-08-19 21:57:08 回复(0)
  • jvm头像 jvm
    p->next 是q,删除q所指向的节点也就是q->next,那么应该是q->next=q->next->next;delete q->next.
    所以无解
    发表于 2015-08-17 22:06:34 回复(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)
  • D
    发表于 2015-06-26 01:14:35 回复(0)
  • D 必须先保存删除节点中下一节点地址,把他存放在p的链域中 所以为 p->next = q->next; delete p;
    发表于 2015-06-19 15:40:19 回复(0)
  • 都不对
    假设是pqrs,q所指向节点就是删除r
    没有答案啊
    发表于 2015-05-19 20:54:58 回复(1)
  • D
    发表于 2015-05-13 18:39:07 回复(0)
  • D. 原则是先回收后继结点,否则可能会导致丢失.
    发表于 2015-04-20 15:46:19 回复(0)
  • 发表于 2015-04-09 11:11:10 回复(0)
  • D 删除q前应将与q相连的前一个节点的后继指向q的后继,以免直接删除q导致单链表断开
    发表于 2015-04-07 09:34:12 回复(0)
  • D 在链表操作里,p->next=q->next表示将p->next指向了q->next,也就是跳过了q,由于节点是动态开辟的,所以用delete进行释放
    发表于 2015-04-05 10:37:55 回复(0)
  • 发表于 2015-04-01 22:24:21 回复(0)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋