Sweet"堆糖
2021-07-27 13:34
采纳率: 66.7%
浏览 44

C语言单向链表问题!求大伙儿围观

p=q->next和p->next=q->next
这两个的区别? 实在是头大呢,,

  • 好问题 提建议
  • 收藏

3条回答 默认 最新

  • 麦兜weixinluo 2021-07-27 13:56
    已采纳

    img

    在这个单向链表中:
    a->next = b
    b->next = c
    c->next = d
    d->next = e

    当q = a时,q->next = a->next,所以q->next = b;所以:

    1. 如果p=q->next,那么p = b;
    2. 如果p->next=q->next, 那么 p->next = b,因为q->next = b,所以 p = q;

    综上所所述:单向链表中 p=q->next 说明p是q的下一个元素,p->next=q->next说明p、q是同一个元素

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • CSDN专家-link 2021-07-27 13:51

    你要记住next表示下一个,很重要
    p = q->next,就是p指针指向q的下一个节点
    p->next = q->next,就是p的下一个节点就是q的下一个节点
    一般p = q->next应用场景比较多,因为链表循环基本这么用,
    p->next = q->next主要用在链表排序、删除之类的处理当中,特别是删除,当删除q节点时,会将前一个节点的next指向删除节点的next,保持链表的连接

    评论
    解决 1 无用
    打赏 举报
  • 爱晚乏客游 2021-07-27 13:41

    假设q->next=m;
    那么p=q->next =====> p=m;
    而p->next=q->next =====>p->next=m;
    img

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题