自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 设计模式(C++实现)(十)——备忘录模式

示例问题:类似于虚拟机的快照功能,编写一个能够记录对象运行过程中状态的功能,用以日后恢复某种状态。分析:能够保存不同阶段的状态,并用以恢复。不能对调用程序暴露备份的细节。解决方案:MyClass.h实现了需要备忘的类CMyClass(主要使用的类),备忘录类CMemento(记录重要数据),备忘录管理类CMementoManager(管理各个阶段的备忘录)#pragm...

2019-05-29 14:41:44 317

原创 二叉树(五)——B+树

定义及特性:B+树是基于B-树的一种变体,有着比B-树更高的查询性能。除了具备B-树的特性外,B+树也具备一些新的特性:一个m阶的B+树具有如下几个特征:1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。2.所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而...

2019-05-28 19:45:19 662

转载 快速读懂UML类图

上面是UML的语法。在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),组合关系(Composition)转自:https://www.cnblogs.com/pangjianxin/p/...

2019-05-28 15:39:24 322

原创 设计模式(C++实现)(八)——模板方法模式

示例问题:一个网页里面包含图片的展示,这些图片根据来源不同,有不同的加载显示方式,如何实现?分析:这是一个典型的父子类之间的继承、多态问题。需要将网页展示的共同部分在父类中实现,子类分别实现不同的图片加载显示方法即可。这是我们常用的父子类之间的继承、多态的应用,其实这也是一种设计模式,即模板方法模式。解决方案:Template.h定义了网页展示的基类,及包含图片展示的3种网...

2019-05-26 16:55:33 282

原创 设计模式(C++实现)(六)——代理模式

示例问题:如何隐藏外界对一个对象的访问,且要使用该对象的功能?分析:代理模式,就是为其他对象提供一种代理以控制对这个对象的访问。解决方案:Proxy.h其中CChildB类代理了CChildA类的功能#pragma once#include <iostream>class CBase{public: CBase() { } virt...

2019-05-26 13:32:04 250

原创 设计模式(C++实现)(五)——装饰模式

示例问题:一个对象除了有重要的职责要进行外,还需要动态的执行一些“装饰”职能,这些“装饰”职能的使用不固定。如一个人除了工作外,每天还要选择穿不同的衣服。如何实现人对穿衣的动态组合?分析:如果将所有的穿衣组合,均用子类的形式实现,这样的话子类太多,且会新买衣服。如何动态的实现对人的穿衣(装饰)?装饰模式,即可实现这样的动态装饰解决方案:Decorator.h实现装饰基类,及...

2019-05-22 17:08:02 340

原创 二叉树(四)——B-树

定义及特征:B树是一种多路平衡查找树,它的每一个节点最多包含m个孩子,m被称为B树的阶。(m的大小取决于磁盘页的大小)一个m阶的B树具有如下几个特征:1)根节点至少有两个子女;2)每个中间节点都包含k-1个元素和k个孩子,其中m/2<=k<=m3)每一个叶子节点都包含k-1个元素,其中m/2<=k<=m4)所有的叶子结点都位于同一层5)每个节点中...

2019-05-20 16:54:08 362

原创 设计模式(C++实现)(二)——单例模式

示例问题:一个程序中,有一个管理类,这个管理类,只想实例化一个对象,且要保证这个类只有一个实例化对象。分析:全局变量不能解决该问题,全局变量不能防止一个类实例化多个对象。解决方案:Singleton.h单例类的实现该类的构造函数和析构函数声明为私有的(为了防止除了提供该类的全局访问点外的其他方法创建该类的对象)该单例模式的实现,是利用static关键字的特性。即st...

2019-05-19 17:08:34 368

原创 设计模式(C++实现)(十六)——策略模式

示例问题:一个问题,有三种解决方法,每种解决方法,适用于不同的场景,灵活设计切换每种解决方法来解决该问题,并可新增解决方法。分析:要能灵活的切换解决问题的方法,且能够灵活新增方法。解决方案:Strategy.h在该文件中,实现了策略的基类,及三个策略的子类#pragma once#include <iostream>//策略基类class ISt...

2019-05-19 15:08:40 326

原创 设计模式(C++实现)(三)——简单工厂模式

示例问题:输入两个数和运算符号,得到结果?分析:在该问题,最开始运算符号,只有“+”,“-”,“*”,“/”,可是随着运算符的增加,该如何扩展程序?解决方案:Operation.h在该文件中,实现运算的基类,并分别实现加、减、乘、除运算子类#pragma once//运算基类class COperation{public: COperation() {...

2019-05-17 22:37:55 388

原创 跨平台编程(二)——SAMBA目录共享

SAMBA:是在Linux和UNIX系统上实现SMB协议的一个免费软件。使用它可实现:在Linux服务器上设置一个共享目录,让Windows主机上可以访问(rw)这个目录。环境:centos6.71. 安装sambayum install samba samba-client samba-swat备注:这三个都要安装2. 关闭selinux(一个强化的安全子系统)和firewa...

2019-05-15 14:38:35 625

原创 二叉树(三)——红黑树

红黑树是一种自平衡的二叉查找树,可解决二叉查找树因为多次插入新节点导致的不平衡问题。除了二叉查找树的基本特性外,还具有下列的特性:1)节点是红色或者黑色2)根节点是黑色3)每个叶子节点都是黑色的空节点(NIL节点)4)每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)5)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点下图的...

2019-05-12 18:17:25 460

原创 二叉树(一)——主要知识点

二叉树主要知识点二叉树在计算机科学中,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。二叉树是递归定义的,所有一般二叉树的相关题目也都可以使用递归的思想来解决。...

2019-05-12 15:14:30 408

原创 二叉树(二)——二叉查找树

定义:二叉查找树又叫二叉排序树或者二叉搜索树。二叉查找树特性:1)左子树上所有结点的值均小于或等于它的根结点的值;2)右子树上所有结点的值均大于或等于它的根结点的值;3)左、右子树也分别为二叉查找(排序)树。优点:上图,查找值为10的节点,首先拿10和根节点9做比较,10比9大,则10在9节点的右侧,再比较10于13,10小于13,则10在13的左侧,在比较1...

2019-05-11 22:45:49 289

原创 设计模式(C++实现)(一)——设计模式总原则及六大原则

设计模式六大原则总原则:开闭原则(Open Close Principle)。开闭原则就是说对扩展开放,对修改关闭。1、单一职责原则不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,如若不然,就应该把类拆分。2、里氏替换原则(Liskov Substitution Principle)里氏代换原则(Liskov Substitution Principl...

2019-05-11 19:53:09 925

原创 常用windows shell命令

打开远程桌面连接:mstsc打开服务管理界面:services.msc打开注册表编辑器:regedit查看IP地址:ipconfig删除服务:sc delete 服务名查看内存条信息(包括运行频率):wmic memorychip...

2019-05-05 16:47:52 286

原创 Linux常用命令

以下列出的为个人整理的Linux常用命令,操作系统为CentOS。其中一般只列举了命令的一种用法,具体每种命令有哪些用法可使用“命令 --help”查看该命令的全部用法或者查阅其他资料。1. 重启网络服务:service network restart2. 查看IP地址:ifconfig(centos6),ip addr(centos7)3. 关机:shutdown -h now...

2019-05-03 19:17:36 222

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除