摘要: 备忘。原文地址:http://blog.sina.com.cn/s/blog_5f5a3dff01013aa8.html1. 终端下载iterm2,iterm2默认支持256色,可以在新tab中使用前一个tab的路径,支持鼠标选中复制等。2. 配色 (by Neil:我喜欢白色的背景,所以用的是默认的配色。)3. shellMac和linux一般默认shell都是bash,然而这个世界上最强大的shell非zsh莫属。强大的命令补全,自动纠错等。我之前的一篇文章也简单介绍过终极shell--zsh。ebrew,直接brew install zsh就行了。然后你需要找一个好的配置,或者你自己配. 阅读全文
posted @ 2013-02-15 18:02 NeilHappy 阅读(9314) 评论(0) 推荐(0) 编辑
摘要: cat显示一个文件的内容。需要注意的是,cat并不能处理目录。 1 extern int cat_main(int argc, char **argv) 2 { 3 int status = EXIT_SUCCESS; 4 5 if (argc == 1) { 6 print_file(stdin); 7 return status; 8 } 9 10 while (--argc > 0) {11 if(!(strcmp(*++argv, "-"))) {12 print_file(... 阅读全文
posted @ 2013-02-15 12:25 NeilHappy 阅读(2250) 评论(3) 推荐(0) 编辑
摘要: pwd命令是列出当前的路径。 1 extern int pwd_main(int argc, char **argv) 2 { 3 static char *buf; 4 5 buf = xgetcwd(buf); 6 7 if (buf != NULL) { 8 puts(buf); 9 return EXIT_SUCCESS;10 }11 return EXIT_FAILURE;12 } 通过xgetcwd函数将路径保存到buf中。char *xgetcwd (char *cwd){ ch... 阅读全文
posted @ 2013-02-15 11:07 NeilHappy 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: 递归算法见:整数的所有不同分割数目--递归算法 思路:非递归与递归的思维顺序是互逆的,所以很容易写出以下代码。 1 #include <stdio.h> 2 #define MAX 1000 3 4 int p[MAX][MAX]={0}; 5 6 int main() 7 { 8 int n=2; 9 int index_n,index_m;10 //initialize the p[n][1]=1;11 for(index_n=1;index_n<=n;index_n++)12 p[index_n][1]=1;13 14 ... 阅读全文
posted @ 2013-02-15 10:50 NeilHappy 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 问题描述:把一个正整数写成若干个正整数的和。比如4=3+1,2+2,2+1+1,1+1+1+1,再加上自己,就一共有5种分割方式。 思路:求解4的所有分割方式,实际上就是求分割中以4为最大值而且和为4的所有分割方式,可以用p[4][4]来表示。抽象出来,就是p[n][m],表示分割中以m为最大值而且和为n的所有分割方式。那么,就有以下几种情况。 1.第一步当然是n==m,所以第一个分割肯定是n本身了。最大值为n的分割肯定只有一个,所以接下来,就要求p[n][m-1]了。归纳出来:p[n][m]=p[n][m-1]+1; 2.从第一步m-1后,n肯定是大于m了。所以,p[n][m]的分... 阅读全文
posted @ 2013-02-15 09:56 NeilHappy 阅读(1135) 评论(3) 推荐(1) 编辑