08 2011 档案

摘要:写成函数/* * ===================================================================================== * * Filename: strtrim.c * * Description: 删除字符串头部和末尾的空格 * * Version: 1.0 * Created: 08/30/2011 05:59:33 PM * Revision: none * Compiler: gcc * * Author: YOUR... 阅读全文
posted @ 2011-08-31 09:23 westfly 阅读(698) 评论(0) 推荐(0)
摘要:1.面向对象的设计原则一 开放-关闭原则开-闭原则: 一个软件实体应该对扩展开发,对修改关闭。 满足开闭原则的模块符合下面两个标准: 对扩展开放 ------- 模块的行为可以被扩展从而满足新的需求。 对修改关闭 ------- 不允许修改模块的源代码。(或者尽量使修改最小化) 2.面向对象的设计原则二-单一职责原则单一职责原则 一个类应该只受一种变化的影响。 3.面向对象的设计原则三 - 接口隔离原则接口隔离原则 不应该强迫客户端依赖于他们不会使用的接口。 如果已经设计成了胖接口,可以使用适配器模式隔离它。像其他设计原则一样,接口隔离原则需要额外的时间和努力,并且... 阅读全文
posted @ 2011-08-29 09:03 westfly 阅读(230) 评论(0) 推荐(0)
摘要:转自http://blog.csdn.net/clearriver/archive/2009/11/21/4846354.aspx随机抽样问题(蓄水池问题Reservoir Sampling)【问题】随机抽样问题表示如下:要求从N个元素中随机的抽取k个元素,其中N无法确定。这种应用的场景一般是数据流的情况下,由于数据只能被读取一次,而且数据量很大,并不能全部保存,因此数据量N是无法在抽样开始时确定的;但又要保持随机性,于是有了这个问题。所以搜索网站有时候会问这样的问题。这里的核心问题就是“随机”,怎么才能是随机的抽取元素呢?我们设想,买彩票的时候,由于所有彩票的中奖概率都是一样的,所以我们才是 阅读全文
posted @ 2011-08-24 13:04 westfly 阅读(547) 评论(0) 推荐(0)
摘要:其实atoi比较简单些。一般处理也简单(无须考虑基数等问题,默认10为底),无非要注意符号的处理和可能的空格处理。#include <ctype.h>int yang_atoi ( const char * str ){ int n=0; int sign; char *p = (char *)str; while(isspace(*p)) ++p; sign = (*p == '-')?-1:1; if((*p == '+')||(*p)=='-') ++p; while(isdigit(*p)) n = 1... 阅读全文
posted @ 2011-08-22 22:15 westfly 阅读(699) 评论(0) 推荐(0)
摘要:部分文字摘自《程序员面试题精选100题(51)-顺时针打印矩阵 》题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵:12345678910111213141516则依次打印出数字1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。对于该题,作者举例两个就得出 “让循环继续的条件是columns > startX * 2 && rows > startY * 2。”,实在不是能够理解。所以参考评论中的解答,写出如下代码。请重点关注二维数组作为参数的传递问题,参考《C++中 阅读全文
posted @ 2011-08-22 19:14 westfly 阅读(293) 评论(0) 推荐(0)