百科问答小站 logo
百科问答小站 font logo



链表求交集,从链表头删去一长串而非一个节点?(已解决)? 第1页

  

user avatar   s.invalid 网友的相关建议: 
      

思路错误。再检查检查你的83行,不行单步跟踪一下,看看它究竟做了什么、想想你的这个思路可不可能得到你想要的结果。


此外,这个程序的效率也很成问题。比如删除,每次还要从头查找一次,这就成了O(N)的效率;实际上直接传当前节点进去可以O(1)删除。


事实上,你的整体思路从一开始就有问题。两个排过序的链表……这实质上就是明示你用归并排序。O(N)的效率完成合并,合并过程中随手剔除无法匹配的元素即可。

一定要先想通整个逻辑,确保它一定能达到目的,这才能动手敲代码。你这一开始就没想明白,直接动手写代码,肯定越搞越扑朔迷离。


最后,再提醒一下:你自己实现了程序、且指出了具体问题,这很好(我也正是看在这个份上才读了你的源码);但发代码求助时,最好直接发文本格式的源码拷贝,不要发截图


这是因为,用人脑模拟电脑思考很累;甚至可以说,绝大多数程序员都还没有这个能力——起码要有能力“人脑部分模拟CPU”、同时对链表相关算法了如指掌的水准,才可能通过看源码直接分析程序执行细节、找到问题所在。


因此,如果你直接发文本,那么热心人拷到自己的编辑器里一跑,很容易就能找到问题所在;但如果你发截图,那么很多人就不得不自己把你的代码一点点照图敲进去、然后才能调试;即使那些有能力直接从源码看出问题的,人家开个IDE不比费老大劲儿当人肉编译器轻省?


与人方便,自己方便。替那些可能帮你的人考虑一下,你得到帮助的几率就会更高。




  

相关话题

  为什么要有指针? 
  Linear least squares, Lasso,ridge regression有何本质区别? 
  uber优惠码的生成的规则是什么? 
  0除以0怎么使用c++的异常处理,例如try? 
  C 语言中字符串常量的好处在哪里? 
  这个如此诡异的C语言「怪事」是怎么回事? 
  还有哪些像 Unix,C/C++ 一样经久耐用的软件技术? 
  带一堆指针的链式结构怎么写才好? 
  如何高效地获得玩家排名? 
  使用数组可以表示哪些数据结构? 

前一个讨论
如果推荐一部电影,你会推荐哪部?
下一个讨论
笔记本支架有必要买的吗?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利