这是一个删除单链表多余相同数据的方法。
else里的s=q
为什么要写这一步
s的作用不是临时存放待删除q的next节点的么,所以为什么要给s赋新的值?
删除单链表中多余的相同数据
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 社区专家-Monster-XH 2023-03-11 23:01关注
基于Monster 组和GPT的调写:
在这个函数中,第二个for循环的目的是在p节点之后查找所有与p节点相同的节点,并将它们删除。因此,变量q表示的是当前正在检查的节点,而变量s表示的是q节点的前一个节点。在这个循环中,如果发现q节点的数据与p节点的数据相同,则将s节点的next指向q节点的next,即删除q节点。在这个过程中,s节点的作用是指向前一个节点,以便能够修改前一个节点的next指针。因此,当q节点被删除时,s节点的next应该指向q节点的下一个节点,而不是q节点本身。因此,需要将s节点设置为q节点,以便在下一个循环中正确地处理q节点的下一个节点。也就是说,s=q的目的是将s节点更新为当前的q节点,以便在下一个循环中处理q节点的下一个节点。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 乌班图ip地址配置及远程SSH
- ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
- ¥15 PSPICE制作一个加法器
- ¥15 javaweb项目无法正常跳转
- ¥15 VMBox虚拟机无法访问
- ¥15 skd显示找不到头文件
- ¥15 机器视觉中图片中长度与真实长度的关系
- ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
- ¥15 java 的protected权限 ,问题在注释里
- ¥15 这个是哪里有问题啊?