
程序设计
null_ptr
这个作者很懒,什么都没留下…
展开
-
六个维度:代码可读性
1、参考资料,新人必看以下资料。"编程精粹(Writing Clean Code).pdf" http://vdisk.weibo.com/s/enoAq //推荐"高质量编程_林锐.pdf" http://vdisk.weibo.com/s/ap6IY //推荐"华为技术有限公司c语言编程规范.pdf" http://vdisk.weibo.com/s/ap7BM //推荐原创 2013-02-03 16:54:05 · 659 阅读 · 0 评论 -
归并排序(merge sort)
http://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95理论计算复杂性理论 大O符号 全序关系 列表 稳定性 比较排序 自适应排序 排序网络 整数排序 交换排序冒泡排序 鸡尾酒排序 奇偶排序 梳排序 侏儒排序 快速排序 臭转载 2013-10-28 21:03:01 · 487 阅读 · 0 评论 -
插入排序(insert sort)
http://baike.baidu.com/view/396887.htm#include #include void insert_sort(int *array, int n){ int i,j; int temp; for(i = 1; i < n; i++) { temp = array[i转载 2013-10-28 20:56:27 · 648 阅读 · 0 评论 -
冒泡排序(bubble sort)
http://baike.baidu.com/view/254413.htm#include #include int bubble_sort(int array[], int num){ int i, j, temp; if(NULL == array) return -1; for (i = 0; i < num; i++) {原创 2013-10-28 20:19:23 · 627 阅读 · 0 评论 -
函数堆栈
#include int func002(char *str, int len){ strcpy(str, "hello"); return len; }int func001(int x, char y, char *z){ char buff[10]; int aa; func002(z, aa);原创 2013-10-19 23:09:18 · 583 阅读 · 0 评论 -
代码重构方法
6 重新组织函数6.1 Extract Method(提炼函数)一段代码存在重复,或者逻辑独立,提炼成函数,并让函数名可解释这段代码的功能。无局部变量:有局部变量:参数6.2 Inline Method(内联函数)内联函数的内容和函数名称一样清楚易懂,这个时候建议删除内联函数。6.3 Inline Temp(内联临时变量)临时变量只被赋值一次,在不影响可读性的基础下原创 2013-06-29 22:24:06 · 568 阅读 · 0 评论 -
有用链接
1、设计模式参考代码:http://zh.wikipedia.org/wiki/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F_(%E8%AE%A1%E7%AE%97%E6%9C%BA)http://www.codeproject.com/KB/architecture/#Design+Patternshttp://sourcemaking.com/des原创 2013-02-05 22:59:01 · 686 阅读 · 1 评论 -
漫谈C语言及如何学习C语言
原帖:http://www.douban.com/group/topic/16223349/云风最近写了一篇博客《C语言的前世今生》。作为长期使用C语言开发网络游戏服务器的程序员,云风是有理由写这样一篇文字,不过还是感觉谈的不够深入,C语言在业界使用的现状没有怎么描写,有些意犹未尽。在这里想比较系统的谈谈个人对C语言学习方式方法的理解。分别按照书籍、实验环境搭建、网络资源来分别介绍,希望能写的转载 2013-01-30 21:58:54 · 1044 阅读 · 0 评论 -
红黑树
todo原创 2013-10-30 21:44:44 · 491 阅读 · 0 评论 -
通用链表代码2
todo原创 2013-10-30 21:44:10 · 571 阅读 · 0 评论 -
希尔排序(shell sort)
http://zh.wikipedia.org/wiki/%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F#include #include int shell_sort(int num_array[], int num){ int i, j, temp; int gap = 0; while (gap<=num转载 2013-10-29 22:12:02 · 512 阅读 · 0 评论 -
快速排序(quick sort)
http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F#include #include /* 数据交换 */void swap(int *a, int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;} void quick_sort转载 2013-10-29 22:08:23 · 581 阅读 · 0 评论 -
通用链表代码1
todo原创 2013-10-30 21:43:54 · 482 阅读 · 0 评论 -
二叉树
todo原创 2013-10-30 21:44:29 · 523 阅读 · 0 评论 -
A* 搜索算法
todo原创 2013-10-30 21:52:20 · 861 阅读 · 0 评论 -
用C语言编写可移植程序的注意事项
http://antkillerfarm.blog.sohu.com/102734995.htmlNotes On Writing Portable Programs In C用C语言编写可移植程序的注意事项1990年6月,第五版A. Dolenc、A. Lemmke、D. Keppel著antkillerfarm译内容提要 * 前言转载 2013-01-31 20:55:23 · 3134 阅读 · 0 评论 -
六个维度:性能
一,cpu无关 (作为冯诺依曼模型的计算机,如何优化)1,减少code path (显示、代码级)减少重复计算减少内存复制调整代码执行顺序减少内存申请注意字节对齐减少参数个数使用指针参数宏,内联函数:空间换时间删除多余初始化2,指令优化(隐式、了解代码的指令)乘除法:除法换乘法,使用移位算法降低浮点精度3,空间换时间(隐式、优原创 2013-02-03 22:11:36 · 718 阅读 · 0 评论 -
六个维度:可移植性
来自百度百科的解释:软件可移植性指与软件从某一环境转移到另一环境下的难易程度。为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境。尽量不用与系统的底层相关性强的语言。可移植性是软件质量之一,良好的可移植性可以提高软件的生命周期。代码的可移植性主题是软件;可移植性是软件产品的一种能力属性,其行为表现为一种程度,而表现出来的程度与环境1密切相关。(注1:环境包括软件环境,硬件原创 2013-01-31 20:52:33 · 4640 阅读 · 0 评论 -
好代码的六个维度
华为公司2012年搞了一个活动,评选十大金码奖,同时宣传好代码的六个维度,窃以为很有价值,对于普通码农来说,这六个维度如果都考虑充分,基本能够写出像样的代码了。六个维度如下:1)Portable可移植,适应不同运行环境的能力2)Performance高效,占用系统资源,包括内存和执行时间3)Simple简洁,易于理解,易于实现4)MAintainable 可维护,被修改的能力。包括原创 2013-01-30 22:15:13 · 1079 阅读 · 0 评论 -
The Zen of Python
>>> import thisThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is bet转载 2013-02-11 18:03:40 · 312 阅读 · 0 评论 -
代码审查九句真言
看见了If,就想Else。看见malloc,就去找Free。函数调用要小心,需要看看返回值。看到for循环,就找边界值。看见return要注意,要去前面找资源。看见数组把神提,问题往往在下标。不要小看字符串,长度是个大问题。得到函数不要急,看看变量初始化,各种路径要小心。赋值函数最危险,变量没有初始化。九句句真言不孤立,相互结合显神威。文档:http转载 2013-02-15 19:41:13 · 413 阅读 · 0 评论 -
优秀C语言开源代码
lighttpd, webserver, http://www.lighttpd.net/nginx ,webserver,http://nginx.org/varnish,a web application accelerator,https://www.varnish-cache.org/glibc, libs for c, http://www.gnu.org/sof原创 2013-04-21 19:39:48 · 1689 阅读 · 0 评论 -
六个维度:简洁性
1、参考资料,新人必看以下资料。"编程精粹(Writing Clean Code).pdf" http://vdisk.weibo.com/s/enoAq //推荐"高质量编程_林锐.pdf" http://vdisk.weibo.com/s/ap6IY //推荐"华为技术有限公司c语言编程规范.pdf" http://vdisk.weibo.com/s/ap7BM //推原创 2013-06-11 11:54:44 · 685 阅读 · 0 评论 -
怎样创建真正很小的Linux下的ELF可执行文件
发信站: 红肩章 (2001年09月26日11:36:50 星期三), 站内信件 【 以下文字转载自 someone 的信箱 】 [最近在看ELF格式和Linux程序装载方面的东东,发现一片挺有意思的文章,翻译了一下 。 555,花了一个晚上和一个上午。希望有人喜欢。 原文地址:http://www.muppetlabs.com/~breadbox/software/tiny/转载 2013-06-11 12:23:01 · 876 阅读 · 0 评论 -
程序员技术练级攻略
http://coolshell.cn/articles/4990.html月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我转载 2013-06-23 14:00:22 · 812 阅读 · 0 评论 -
通用hash表
todo原创 2013-10-30 21:52:41 · 695 阅读 · 0 评论 -
2013年开发者需要了解的10大开发趋势和技能
原文:http://www.iteye.com/news/26881技术的不断进化,使得软件开发也跟着进化,而且成熟了很多。一个不可否认的事实是,科技永远不能是静态的,因为它必须满足与之关联的人的需求。但是技术变化太快,有时真的让我们很难保持同步。 作为一个开发者,在开发者的世界跟不上潮流是伤不起的。写代码需要心如止水,但新的一年即将到来,此时此刻你必须准备好迎接新的明天。转载 2013-03-01 22:55:37 · 326 阅读 · 0 评论