《程序员实用算法》的一个疑问,该怎么处理
《程序员实用算法》的一个疑问在94页有这样的代码,我感觉是不是错了,问一下大家的意见:C/C++ code//.... 前
《程序员实用算法》的一个疑问
在94页有这样的代码,我感觉是不是错了,问一下大家的意见:
C/C++ code//.... 前面的省略for(i=0 ; i <MaxState ; i++) if(OutArray[i] != NULL) for(kscan = OutArray[i]; kscan != NULL; kscan = kscan->next) free(kscan);//.... 后面的省略
我觉得它怎么能先 free(kscan)然后再kscan = kscan->next呢?虽然在有些情况下,尽管释放了内存不过内存里面的内容还没有改变,因此kscan=kscan->next没有出错,但是我觉得还是有出错的可能啊?请教一下大家是书错了还是我考虑漏了什么东西?
另外我感觉这本书的代码都写得比较复杂,哪怕是最开始的很基础的链表也被写得超级复杂,考虑的东西很多,书太严谨了看起来也有点头疼啊。。。
[解决办法]先看下《算法之道》吧
[解决办法]这段代码我看了下 有问题的,就是为了回收所有的空间。
[解决办法]都没听过名字的书, 这种错误也就不需大惊小怪了.