在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行( )

这个题目很有意思哈,第一反应是s->next=q->next,q->next=s,然后一瞅答案没有,并且还给出了答案是c,我说不能啊,这不p的结点地址丢失了嘛,果断认为题目错了,并且网上找答案,结果折腾一会发现网上答案都是说c,但是都没有具体给出解释,也有稀疏几个人和我的答案一样,后面再瞅了几眼题目,发现了问题所在。我们知道的是p、q都是结构体指针变量,当p、q指向某个结点的时候,意味着结点的首地址赋予了p、q指针变量,也就是说这两个结点的地址是已知的,所以可以q->next=s,s->next=p(当然上面的s->next=q->next,q->next=s也是可以的)。不像之前的只给出的一个结构体指针变量p,然后在其后面后面插入一个新的结点,那就要考虑到断链的情况。

  • 72
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值