
c++
I____KNOW
在校大学生,小菜鸟,需要学习与进步
展开
-
c++设计模式之抽象工厂模式
抽象工厂模式 抽象工厂模式,就好比是多个工厂方法模式的叠加。抽象工厂创建的是一系列相关的对象,其中创建的实现其实就是采用的工厂方法模式。在工厂Factory中的每一个方法,就好比是一条生产线,而生产线实际需要生产什么样的产品,这是由Factory1和Factory2........去决定的,这样便延迟了具体子类的实例化;同时集中化了生产线的管理,节省了资源的浪费。原创 2015-05-27 23:40:15 · 606 阅读 · 0 评论 -
c++设计模式之外观模式
http://m.blog.youkuaiyun.com/blog/ApeLife/38962313转载 2015-05-31 21:18:09 · 488 阅读 · 0 评论 -
找出1001个数(区间1~1000)中重复出现的数(有两个相同)
#include #include #include using namespace std; /* 假设你有一个用1001个整数组成的数组,这些整数是任意排列的, 但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现 两次外, 其他所有数字只出现一次。假设你只能对这个数组做一次处理, 用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,原创 2015-05-31 17:32:28 · 4512 阅读 · 0 评论 -
c++设计模式之策略模式
1.什么是策略模式 策略模式属于对象行为模式,其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使它们可以相互替换。 2.策略模式的结构 策略模式是对算法的包装,把使用算法的责任和算法本身分开,委派给不同的对象管理。 环境(Context)角色:持有一个Strategy引用; 抽象角色(Strategy)对象:抽象角色,由一个抽原创 2015-05-31 22:05:58 · 509 阅读 · 0 评论 -
c++设计模式之外观模式
外观模式 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 同时,客户端不需要与子系统直接交流,这样做遵守了迪米特原则————一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的public方法,我就调原创 2015-05-31 21:22:48 · 485 阅读 · 0 评论 -
设计包含min函数的栈。
/* 设计包含min函数的栈。 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。 */ #include using namespace std; class Stack{ private: int *stack; int top = -1; int topmin = -1; int s原创 2015-05-31 17:12:18 · 445 阅读 · 0 评论 -
判断整数序列是不是二元查找树的后序遍历结果
#include using namespace std; /* 判断整数序列是不是二元查找树的后序遍历结果 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10 / \ / \ 5 7 9 11 因原创 2015-05-31 17:06:11 · 391 阅读 · 0 评论 -
c++设计模式之装饰模式
装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能。通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类这种方式并不可取。在面向对象的设计中,而我们也应该尽量使用对象组合,而不是对象继承来扩展和复用功能。装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。装饰器模式的本质就是动态组合。动原创 2015-05-22 00:37:33 · 537 阅读 · 0 评论 -
c++设计模式的学习链接
http://www.cnblogs.com/wanggary/category/294620.html转载 2015-05-22 00:12:59 · 454 阅读 · 0 评论 -
c++设计模式之桥接模式
c++设计模式之桥接模式 作用:将抽象部份与它的实现部份分离,使它们都可以独立地变化。将抽象(Abstraction)与实现(Implementation)分离,使得二者可以独立地变化。 桥接模式就将实现与抽象分离开来,使得RefinedAbstraction依赖于抽象的实现,这样实现了依赖倒转原则,而不管左边的抽象如何变化,原创 2015-05-28 15:24:54 · 591 阅读 · 0 评论 -
翻转句子中单词的顺序。
#include #include using namespace std; /* 翻转句子中单词的顺序。 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。 此题难度不大,主要是如何把原创 2015-05-31 16:59:16 · 469 阅读 · 0 评论