趣题——“1”的个数题目:编写一个函数,确定一个整数的计算机内部表示中有多少个“1”。方法一:思路:这个问题看上去是一个简单的转换题,即将一个十进制转换为二进制。但事实上,任何一个数字在计算机中已经是二进制表示了。因此,不再需要显式地使用程序将其转换。对于一个二进制,有多少个1,可以从低位开始数。即每次右移一位,并判断移除的这一位是否为1,直到右移结果为0为止。例如: 在100101 中,
1....
分类:
其他好文 时间:
2015-02-11 23:25:04
阅读次数:
439
迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示。js中我们经常会封装一个each函数用来实现迭代器。array的迭代器:forEach = function( ary, fn ){ for ( var i = 0, l = ary.length; i < l....
分类:
Web程序 时间:
2015-02-05 11:01:45
阅读次数:
185
1、工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 2、建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象....
分类:
编程语言 时间:
2015-01-24 00:26:20
阅读次数:
216
Lex规范的结构
lex程序由三部分组成:定义段、规则段和用户子例程序段
...定义段...
%%
...规则段...
%%
...用户子例程序段...
这些部分由以两个百分号组成的行分隔开。尽管某一部分可以为空,但前两部分是必须的,第三部分和前面的%%行可以忽略。
定义段
定义段包括文字块、定义、内部表声明、起始条件和转换。
以空白开头的行被逐字拷贝到C文件中,通常,这用于包...
分类:
其他好文 时间:
2015-01-21 16:38:03
阅读次数:
255
用途 迭代器模式 (Singleton) 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 迭代器模式是一种行为型模式。结构 图-迭代器模式结构图Iterator : 定义访问元素的接口。interfaceIterator{publicObjectfirst();pub...
分类:
其他好文 时间:
2015-01-20 15:25:30
阅读次数:
139
定义:迭代器模式,提供了一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。因为迭代器模式的广泛运用,现在高级语言如c#,java等本身已经把这个模式封装在语言当中。例如:c#中的foreach in。因此此处暂不对迭代器模式做详细的介绍,下面简单讲述在书中看到的一些基础知识:IEu...
分类:
其他好文 时间:
2015-01-12 16:02:28
阅读次数:
150
迭代子模式:迭代子模式可以顺序访问一个聚集中的元素而不必暴露聚集的内部表象。多个对象聚在一起形成的总体称之为聚集,聚集对象是能够包容一组对象的容器对象。迭代子模式将迭代逻辑封装到一个独立的子对象中,从而与聚集本身隔开。迭代子模式简化了聚集的界面。每一个聚集对象都可以有一个或一个以上的迭代子对象,每一个迭代子的迭代状态可以是彼此独立的。迭代算法可以独立于聚集角色变化。...
分类:
其他好文 时间:
2015-01-07 09:24:12
阅读次数:
175
迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑用迭代器模式;当需要对聚集有多种方式遍历时,可以考虑用迭代器模式。 为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统...
分类:
其他好文 时间:
2014-12-30 18:40:17
阅读次数:
175
一、UML图
二、概念
迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
三、说明
什么时候用?
(1)当你需要访问一个聚集对象,而且不管这些对象时什么都需要遍历的时候,你就应该考虑用迭代器模式。
(2)你需要对聚集有多种遍历时,可以考虑用迭代器模式。
(3)为遍历不同的聚集结构提供如开始、下一个、是否...
分类:
编程语言 时间:
2014-12-23 09:02:24
阅读次数:
265
9.5.2 使用值和委托
在这一节,我们要讨论在C# 中使用两个更典型的 F# 构造,如何导出值和高阶函数,后者是棘手的,因为,对于函数,F# 使用相当复杂的内部表示。
如果函数的参数为 int -> int –> int,C# 开发人员会把它看成FastFunc>。使用这种类型虽然是可行的,但非常不方便,我们要使用另一种方法。如果要让高阶函数能在 C# 中使用,可以使用标准的 .NET...
分类:
其他好文 时间:
2014-12-16 10:08:33
阅读次数:
138