09 2008 档案
摘要:警惕递归 递归是一种解决复杂问题的有效算法,函数通过简化问题求解过程,将被简化的问题再交给一个或多个与自己完成一样的函数,从而让程序解决这个问题。比如说汉诺塔问题。 递归算法思路清晰,编成代码简单优美,缺点是会消耗不少的栈空间,甚至有时候会带来额外的开销。递归所对应的另一种算法是迭代(也就是循环),相应的,迭代的优点是效率高,但是程序可读性方面没有递归好。大部分递归都可以方便的用迭代来取代,因此我建议如果递归不是很复杂,还是用循环来替代。 我们用最简单常见的阶乘算法和斐波纳契数列来说明:阶乘递归程序:long factorial(int n){static int time = 0; //fo
阅读全文
摘要:大多数UNIX系统中,C编译器被称为cc用法举例:1, cc program.c -- 编译并链接一个完全包含于一个源文件的C程序。该命令产生一个称为a.out的可执行程序。中间会产生一个名为program.o的目标文件,但在链接过程完成后会被删除。2, cc main.c sort.c other.c -- 编译并链接几个C源文件当编译的源文件超过一个时,目标文件便不会被删除。这允许你对程序进行修改后,指对修改过的源文件进行重新编译。参考下一条命令3,cc main.o other.o sort.c -- 编译一个C源文件,并和现存的目标文件链接在一起4,cc -c program.c --
阅读全文

浙公网安备 33010602011771号