数据结构,求两个链表的交集?

weixin_36241253 2016-09-26 11:32:45
程序能运行,但是运行出来的答案不对,请大家帮忙看一下我的函数里面的循环哪里出错了?
...全文
1395 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
simoreg 2018-09-13
  • 打赏
  • 举报
回复
你这个算法,如果两个链表都没有重复数据,应该是对的
如果有重复数据,那就肯定不对
是不是这样的?
xiaobo9607 2018-09-12
  • 打赏
  • 举报
回复
引用 3 楼 小灸舞的回复:
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
你说的那些操作在所有软件都通用吗
weixin_36242112 2016-10-03
  • 打赏
  • 举报
回复
你局部函数申请了20个对象的堆空间地址,返回的i数据如果小于二十,20-i的堆内存如何释放,还是在调用此方法之前传递一个动态开辟的空间吧,释放也方便
微book 2016-09-29
  • 打赏
  • 举报
回复
while(p!=NULL) { s=first->next; while(s!=NULL) { if(p->data==s->data) { l[i++]=p->data; break; } s=s->next; } p=p->next }
weixin_36242112 2016-09-28
  • 打赏
  • 举报
回复
再就是你虽然取出了两个链表的交集,但是新链表中的指针你没有用到,
weixin_36242112 2016-09-27
  • 打赏
  • 举报
回复
里层的while循环在外层加一的时候应该重新初始化变量,改为for吧
paschen 版主 2016-09-27
  • 打赏
  • 举报
回复
l[i] = p->data, i++ 这句改成: l[i] = p->data; i++; 并将这两句放在大括号里
赵4老师 2016-09-27
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
小灸舞 2016-09-27
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
weixin_36241253 2016-09-27
  • 打赏
  • 举报
回复
哦,原来是这样,谢谢~~
weixin_36241253 2016-09-27
  • 打赏
  • 举报
回复
引用 5 楼 paschen的回复:
l[i] = p->data, i++ 这句改成: l[i] = p->data; i++; 并将这两句放在大括号里
这里没有区别吧,就只有一楼所说的问题~~谢谢~~

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧