建造者模式(Builder):建一个复杂的对象的构建和它的表示分离,使得同样的构造过程可以创建不同的表示。
(1),主要创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。
(2),建造者模式的好处就是使得建造代码和表示代码分离,由于建造者隐藏了该产品是符合组装的,所以如需要改变一个产品的内部表示,主需要在定义一个具体的建造者就可以了。
(3)...
分类:
编程语言 时间:
2014-07-29 14:24:58
阅读次数:
219
CSDN没下载积分了,附上我在研究生阶段网上下载的并且读过的一些书籍,大部分我都有读书笔记(不过写的比较糟糕),大家可以0积分下载。CSDN上传文件大小限制在50M下。。。。。。。有些书太大,不能上传
书单如下,下载地址http://download.csdn.net/user/walkerkalr
C专家编程
C++primer(中文版)
effective C+...
分类:
其他好文 时间:
2014-07-29 14:21:48
阅读次数:
272
1. length() size()都是表示 字符串 中的元素数, 等于begin()到end()之间的距离.length()是考虑到传统C函数 strlen而对应设置的,而size()是考虑到string作为一个STL容器2. length() sizeof()sizeof可以计算一个 类型 .....
分类:
其他好文 时间:
2014-07-29 14:03:18
阅读次数:
231
set和multiset会根据特定的排序准则,自动将元素排序。两者不同处在于multiset允许元素重复而set不允许在使用set或multiset之前,必须先加入头文件set和multiset通常以红黑树完成,红黑树在改变元素数量和元素搜寻方面很出色,它保证结点安插时最多只会作两个重新连接动作,而...
分类:
其他好文 时间:
2014-07-27 21:58:09
阅读次数:
201
functor(仿函数), 或者称之为function object(函数对象), 是STL的四大组件之一。
什么是仿函数呢?
一个函数对象是封装在类中, 从而看起来更像是一个对象。 这个类只有一个成员函数, 即重载了() (括号)的运算符。 它没有任何数据。 该类被模板化了, 从而可以应付多种数据类型。
看一个例子:
上例中, 我们定义了一个类X, 然后我们在类中定义了一个运算...
分类:
其他好文 时间:
2014-07-27 11:56:33
阅读次数:
227
题意:中国人应该都知道了
思路:这道题,如果不经过仔细的思考还是蛮容易错的,像我,刚学完STL 不怎么敢用优先队列做,所以还是吃亏了!
就是要你从r出发找到a。
如果简单地用队列做,当输入
3 3
r..
#x.
##a
的时候就很容易错有可能输出输出5或者4;这时就错了,所以只能用优先队列来优化了,让步数走得少的优先出队,不熟悉的可以去看看STL
代码:
#include...
分类:
其他好文 时间:
2014-07-27 11:51:43
阅读次数:
211
UVA 246 - 10-20-30
题目链接
题意:给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):
1、头两张+尾一张和为10或20或30
2、头一张+尾两张和为10或20或30
3、尾三张和为10或20或30
就把这三张牌拿走,放到总牌堆底(这步要不断执行直到不再满足条件或牌堆没了)
如果有一个牌堆因为这个...
分类:
其他好文 时间:
2014-07-27 11:22:52
阅读次数:
202
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4879题意:给一个n*m的矩阵,有n个人,t次操作,操作有以下两种:1、令编号x的人上下左右移动2、令与编号x的人同行同列的人聚集到x这里,输出花费方法:使用两个set,一个维护x轴,一个维护y轴一个map,...
分类:
其他好文 时间:
2014-07-27 10:47:42
阅读次数:
294
list使用双向链表来管理元素。与vector、deque的区别:1.list不支持随机存取,在list中随机遍历任意元素,是很缓慢的行为2.任何位置上执行元素的安插和移除都非常快,始终是常数时间内完成,因为无须移动任何其他元素3.安插和删除动作不会造成指向其他元素的各个pointer、refere...
分类:
其他好文 时间:
2014-07-27 10:07:52
阅读次数:
241
转自维基百科红黑树是一种平衡二叉搜索树,它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目。性质:红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:性质1. 节点是红色或黑色。性质2. 根...
分类:
其他好文 时间:
2014-07-27 10:06:42
阅读次数:
206