回 帖 发 新 帖 刷新版面

主题:[讨论]单向链表通用头文件问题

        这是测试 单向链表通用头文件 的程序!

由于鄙人学习C语言不是很久,有很多地方并没真正弄懂,
在加上时间原因(最近要考试了),并没有 严格地进行查
错,只是初步验证了下,其中还有好几个函数都没有验证,
如 按照一定的方法加入结点函数 FAddNode ;  如果有
时间的话,可以帮我测试一下,有  错误或者有更好的
实现方法可以发邮件给我!!
     在此,我先说声谢谢!!!
  我的邮箱地址是: 693025091@qq.com
如果有兴趣的话,可以加我QQ一起学习C语言!!

回复列表 (共2个回复)

沙发

高度赞扬lz的实践精神,而且代码风格整体上看也不错。

简单扫阅了一下头文件,还是有一些个人觉得别扭的地方,比如
#ifndef NODE_RECORD 
  #define NODE_RECORD int data;
#endif
这里有点封装过度的问题,一般只封装类型就可以了。在实现查找的时候,输入查找目标一般是在外部完成的,目的是增强代码的可复用性。
另外,还有诸如    temp =  ( link_pointer )malloc( sizeof(struct LINK) ) ;
    temp->Head = ( node_t* )malloc( sizeof(node_t ) ) ;
明显封装尺度不一等情况出现。

最后有个建议:,给你的头文件最前面一段说明,总体性地描述你的数据结构,各类型名称,函数的输入输出等。你的代码里要求用户指定方法的函数比较多。

板凳

先谢谢楼上的,其实我自己也发现了一个错误的地方在link.h文件的FSortLink函数中:
                  }//if !(prev...
               if ( cur == last ) break;
               }//while !(prev... 

应该改为:
                }//if !(prev...
               if ( cur == last ) last=cur->next;
               }//while !(prev...

我来回复

您尚未登录,请登录后再回复。点此登录或注册