释放节点

释放节点


https://img1.sycdn.imooc.com//climg/631d4bd109c6e9f606920351.jpg

下面的

q->front->next = temp->next;

可以写成

temp = temp->next;

吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
山行老师 2022-09-11 21:03:09
那你free()里面写什么?还写free(temp)就把有用的数据干掉了啊
  • 提问者 我想跑路 #1

    那不 free()可以吗?这段是课上的代码有点绕

    2022-09-11 21:25:09
  • 山行老师 回复 提问者 我想跑路 #2

    不行,这里的free( )是必要的,因为你的节点是malloc动态开辟出来的,所以删除的时候也要动态free;
    简单来说这里的删除就分3步:
    1)先用一个指针把要删除的节点标记着;
    2)把将要删除节点的上一个节点和下一个节点的next'连'起来;
    3)然后再删除标记的节点。

    2022-11-02 21:54:55
  • 提问者 我想跑路 回复 山行老师 #3

    好的明白,谢谢老师

    2022-11-02 22:08:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师