这几天浏览了很多人的博客,发现似乎有这么个规律: 大神的blog中代码很少甚至没有一行代码,且大多是写一些认真思考出来的东西, 而像我这样的新手blog好多都是"贴代码",有时候连两句"废话"都懒得扯。
莫非水平越高 代码 在博客内容中所占的比例就越少? 那就努力多写点思考的"成果"吧,也许这就是 大神之路 吧。
这次整理的是我第一次用C写的文件复制程序。 那时候为了理解 流(Stream) 这个东西也算是费了心思了, 印象最深刻的便是把 流 比作 管道,数据通过管道流通。 到现在也不敢说完全理解,对新手而言,抽象的概念远不如具体的代码让人安心。
对这些抽象的概念,我的一点点体会就是, 一时不能理解没什么关系,多写代码体验一下,多思考,慢慢的也就悟出来了. 也许就像在 《.Net4.0面向对象编程漫谈》 一书中听金老师说的那样: 学习编程,大家都在"盲人摸象"。 我想,摸得多了,也就知道"大象"是什么样了。
最近整理旧blog的时候一直在想:要不要带上原文链接。现在决定还是加在文章最后吧,既然是自己写的(尽管很水),那么就留着对比一下吧,看看整理后的文章有多少提高。
这次的也是《数据结构基础(C语言版)(第2版)》(Fundamentals of Data Structures in C, 2nd)的一个练习题:给定n个布尔变量,打印所有可能的真值组合。 相当于求长度为n的位串有多少种。旧文用的方法太蛋疼了,位串长度稍稍增大,运行时间就变得不可接受了(那个时候还是图样啊),现在我尝试着写个好一点的。
本来打算最近好好整理几篇博客的,但是最近忙于学校的实习(其实感觉就像报了个培训班),蛋疼死了。看着博客那么空就先整理篇简单的吧,呵呵。
在《数据结构基础(C语言版)(第2版)》(Fundamentals of Data Structures in C, 2nd) 看到的一个小题目——Horner规则。一个递归版本,一个迭代版本,原来是两篇博文(好吧,纯属凑数)。不过这个递归算是我首次尝试写递归程序了。其实感觉迭代比递归更好,毕竟程序太小。重在思想吧,递归的形式确实简洁点。