举个例子:这里很多人写链表,是在被命名为create()的函数中一揽子做完的,不光在那里把整个链条用循环建立完毕,甚至用户交互输入的scanf()也出现在里面,这是彻底混乱的写法。做出来了不等于做好了,但问题是那些人愿意到此为止,他觉得完成作业了,就算学会链表了。事实是,他根本没学会。
不妨考虑这么一种情形:你链表一次建立好了,然后不用追加吗?追加数据的时候你在哪写?怎么写?因为你根本就没有append()函数,所以你无法追加数据!改一点点就create()一次,你的链表还怎么用,可见自己写出来的函数是没真正用于实践的。如果你写了append()追加功能的函数,那么还需要在create()中一次把数据都追加好吗?为什么不写一个append()函数,然后不断往链表末尾追加数据?你只需要写一个极其简单的追加一个结点的函数就可以了,何必把create()函数弄得那么复杂?看看那些把链表问完又问的帖子,那叫一个不忍卒读。那是你迟早必须写的函数,但我的确没见一个人写链表代码是有这样写的!是的,你看的书例题的那样做的,但那其实是错误的示范,无非是没有动脑思考的习惯,把作业做完了事。以这样的态度学习,怎么学得好。
自己写出来的程序,最基本的一个要求,是自己跑过,自己使用过要满意才行。我看这里95%以上的人,写代码是从来没有以使用者的角度来审查自己的程序的。那你写程序干嘛?
[
本帖最后由 TonyDeng 于 2015-6-6 13:44 编辑 ]