自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

EditGP的专栏

点的突破 撕开口子 全线反击

  • 博客(69)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++设计模式之装饰模式(改编自C++设计模式)

Decorator:动态地给一个对象添加一些额外的职责(不重要的功能,只是偶然一次要执行),就增加功能来说,装饰模式比生成子类更为灵活。建造过程不稳定,按正确的顺序串联起来进行控制。Good:当你向旧的类中添加新代码时,一般是为了添加核心职责或主要行为。而当需要加入的仅仅是一些特定情况下才会执行的特定的功能时(简单点就是不是核心应用的功能),就会增加类的复杂度。装饰

2015-10-27 13:47:27 362

原创 C++设计模式之适配器模式(改编自C++设计模式)

Adapter模式::将一个类的接口转化为客户希望的接口.Good:使得原本由于接口不兼容而不能一起工作的那些类能够一起工作. 主要应用于希望复用一些现存的类,但是接口又与复用环境不相容的情况.Pic:   Adapter Pattern(类模式)结构图Adapter Pattern(对象模式)结构图Code:#include usin

2015-10-27 11:30:20 402

原创 C++设计模式之桥接模式(改编自C++设计模式)

Bridge模式:GOOD:将抽象部分与实现部分分离,使它们可以独立变化。   这里说的意思不是让抽象基类与具体类分离,而是现实系统可能有多角度分类,每一种分类都有可能变化,那么把这种多角度分离出来让它们独立变化,减少它们之间的耦合性,即如果继承不能实现“开放-封闭原则”的话,就应该考虑用桥接模式。PIC:CODE:#include #in

2015-10-26 16:37:48 445

原创 C++设计模式之原型模式(改编自C++设计模式)

Prototype模式GOOD:从一个对象再创建另外一个可定制的对象,而无需知道任何创建的细节。并能提高创建的性能。 说白了就COPY技术,把一个对象完整的COPY出一份。PIC:CODE:#include#include #include using namespace std;class Prototype //抽象基类 {private:

2015-10-26 16:09:06 396

原创 C++设计模式之建造者模式(改编自C++设计模式)

Build模式:Question:生活中有着很多的Builder的例子,个人觉得大学生活就是一个Builder模式的最好体验:要完成大学教育,一般将大学教育过程分成 4 个学期进行,因此没有学习可以看作是构建完整大学教育的一个部分构建过程,每个人经过这 4 年的(4 个阶段)构建过程得到的最后的结果不一样,因为可能在四个阶段的构建中引入了很多的参数(每个人的机会和际遇不

2015-10-26 15:41:36 326

原创 C++设计模式之单例模式(改编自C++设计模式)

单例模式通过维护一个 static 的成员变量来记录这个唯一的对象实例。通过提供一个 staitc 的接口 instance 来获得这个唯一的实例。Singleton 不可以被实例化,因此我们将其构造函数声明为 protected 或者直接声明为 private。GOOD:保证一个类仅有一个实例,并提供一个访问它的全局访问点Pic:Code:#include #i

2015-10-26 15:05:48 294

原创 C++设计模式之抽象工厂模式(改编自C++设计模式)

AbstactFactory  模式Question:假设我们要开发一款游戏,当然为了吸引更多的人玩,游戏难度不能太大(让大家都没有信心了,估计游戏也就没有前途了),但是也不能太简单(没有挑战性也不符合玩家的心理)。于是我们就可以采用这样一种处理策略:为游戏设立等级,初级、中级、高级甚至有BT 级。假设也是过关的游戏,每个关卡都有一些怪物(monster)守着,玩家要把这些怪物干掉才可

2015-10-26 11:58:30 428

原创 C++设计模式之策略模式

策略模式 定义算法家族,分别封装起来,让它们之间可以互相替换,让算法变化,不会影响到用户GOOD: 适合类中的成员以方法为主,算法经常变动;简化了单元测试(因为每个算法都有自己的类,可以通过自己的接口单独测试。  策略模式和简单工厂基本相同,但简单工厂模式只能解决对象创建问题,对于经常变动的算法应使用策略模式。BUG:客户端要做出判断

2015-10-24 21:38:32 351

原创 C++设计模式之简单工厂模式

简单工厂模式概要: 用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。GOOD: 新添加类时,不会影响以前的系统代码 适用于不同情况创建不同的类BUG: 客户端必须要知道基类和工厂类,耦合性差//baseclass COperation{public: double m_nFirst; double

2015-10-23 14:30:33 476

原创 数据结构之HashTable(除留余数法—链地址法)

#includeusing namespace std;#define MAXSIZE 17enum { No, Yes};typedef struct node{ //关键字结点 int data; //关键字 struct node *pNext; //指向下一个结点 }Node;typedef struct Table{ Node *table; /

2014-11-22 14:35:36 3064

原创 数据结构之无向网邻接矩阵最短路径FLOYD算法—摘抄自《大话数据结构》

#includeusing namespace std;const int MAXEDGE = 20;const int MAXVEX = 20;const int INF = 65535;typedef int Status; /* Status 是函数的类型,其值是函数结果状态代码,如 OK 等 */typedef struct{ int vexs[MAXVEX]; int

2014-11-20 13:28:15 946

原创 数据结构之共享栈(堆存储)

#includeusing namespace std; const int MAXSIZE = 20;typedef int SElemType;typedef struct HeDoubleStack{ SElemType *pBase; int top1; int top2;}HeDoubleStack;void Visit(SElemType c){ cout

2014-11-20 13:26:32 475

原创 数据结构之共享栈(顺序存储)—改编《大话数据结构》

#includeusing namespace std;const int MAXSIZE = 20;typedef int SElemType;/* 两栈共享空间结构 */typedef struct{ SElemType data[MAXSIZE]; int top1; /* 栈 1 栈顶指针 */ int top2; /* 栈 2 栈顶指针 */}SqDoubleSta

2014-11-20 13:24:11 421

原创 VC++之对象含指针成员指向堆空间并调用复制构造函数问题—参考范磊VC++

1.

2014-11-13 10:57:42 537

原创 VC++复制构造函数使用的三种情况—整理范磊VC++

上面不执行复制构造函数,

2014-11-12 20:00:18 1524

原创 数据结构之归并排序(迭代实现)

#include#includeusing namespace std;#define MAXSIZE 20typedef int ElemType;typedef struct{ ElemType r[MAXSIZE + 1];//Array[0]置哨 int length;}SqList;void Merge(ElemType S[], ElemType T[], int

2014-11-09 12:10:06 590

原创 数据结构之归并排序(递归实现)

#include#includeusing namespace std;#define MAXSIZE 20typedef int ElemType;typedef struct{ ElemType Array[MAXSIZE + 1];//Array[0]置哨 int length;}SqList;void Merge(ElemType S[], ElemType T[], i

2014-11-09 11:51:40 483

原创 数据结构之插入排序(直插,折半插,2路插)—参考整理严蔚敏数据结构

#includeusing namespace std;#define EQ(a,b) ((a)==(b))#define LT(a,b) ((a)<(b))#define LQ(a,b) ((a)<=(b))#define MAXSIZE 20 // 一个用作示例的小顺序表的最大长度typedef int InfoType; // 定义其它数据项的类型typedef int Key

2014-11-08 21:08:42 967

原创 数据结构之插入排序之希尔排序(缩小增量排序)—参考整理严蔚敏数据结构

#includeusing namespace std;#define MAXSIZE 20 // 一个用作示例的小顺序表的最大长度#define EQ(a,b) ((a)==(b))#define LT(a,b) ((a)<(b))#define LQ(a,b) ((a)<=(b))typedef int InfoType; // 定义其它数据项的类型typedef int Key

2014-11-08 21:01:27 716

原创 数据结构之交换排序之快速排序(参考整理严蔚敏数据结构)

//Partition函数:将当前无序表的第一个元素放在最终排序后应该在的 //位置上并返回该位置,且该位置左边的元素值皆小于该位置元素的值, //反之亦然//Qsort函数:调用上面函数并利用上面函数返回的下标将表一分为二, //并递归处理这两个子表//QuickSort函数:显然是从第一个元素开始,最后一个元素结尾调用 //Qsort函数#includeusing n

2014-11-08 20:52:54 938

原创 数据结构交换排序之起泡排序(参考严蔚敏数据结构)

//开始时是整个顺序表都是无序的,就算有序计算机也不知道//而后逐步扩大有序序列,减小无需序列//有序序列在表后,无序序列在表前,且有序序列中的key最小的元素的key都大于无序序列中的任意一个元素的key#includeusing namespace std;#define N 8void bubble_sort(int a[], int n){ // 将a中整数序列重新排列成自

2014-11-08 20:42:01 935

原创 数据结构之简单选择排序(参考整理严蔚敏数据结构)

#includeusing namespace std;#define MAXSIZE 20 // 一个用作示例的小顺序表的最大长度typedef int InfoType; // 定义其它数据项的类型typedef int KeyType; // 定义关键字类型为整型typedef struct RedType // 记录类型{ KeyType key; // 关键字项 Info

2014-11-08 20:27:09 1212

原创 数据结构之选择排序之堆排序(参考严蔚敏数据结构)

#includeusing namespace std;#define MAXSIZE 20 // 一个用作示例的小顺序表的最大长度#define EQ(a,b) ((a)==(b))#define LT(a,b) ((a)<(b))#define LQ(a,b) ((a)<=(b))typedef int InfoType; // 定义其它数据项的类型typedef int Ke

2014-11-08 20:02:12 1104

原创 数据结构之有向网邻接表实现拓扑与关键活动(参考整理严蔚敏数据结构)

#includeusing namespace std;#define MAX_VERTEX_NUM 20typedef char VType;typedef int AType;typedef int InfoType;typedef struct ArcNode{ AType adjvex; ArcNode *pNextArc; InfoType *pInfo;}ArcN

2014-11-07 10:51:04 531

原创 数据结构之链栈(参考整理严蔚敏数据结构)

#includeusing namespace std;#define InitStack InitList #define DestroyStack DestroyList#define ClearStack ClearList#define StackEmpty ListEmpty#define StackLength ListLength#define GetTop GetFi

2014-11-02 10:57:36 528

原创 数据结构之实用单链表(参考整理严蔚敏数据结构)

#includeusing namespace std;typedef int ElemType;typedef struct Node{ ElemType data; Node *pNext;}Node,*Link;typedef struct LinkList{ Link pHead; Link pTail; int Length;}LinkList;voi

2014-11-01 14:53:17 806

原创 数据结构之设置尾指针的单向循环链表(参考整理严蔚敏数据结构)

#includeusing namespace std;typedef int ElemType;typedef struct Node{ ElemType data; Node *pNext;}Node;typedef Node *Link;//设立尾指针的单向循环链表void InitList(Link &L){//生成只有一个头结点的空表 L = new Node;

2014-11-01 12:10:30 1486

原创 数据结构之双向循环链表(参考整理严蔚敏数据结构)

#includeusing namespace std;typedef int ElemType;typedef struct DNode{ ElemType data; DNode *pPrior; DNode *pNext;}DNode;typedef DNode * DLink;void InitList(DLink &L){ L = new DNode; L-

2014-11-01 09:13:06 571

原创 数据结构值行逻辑链接表实现矩阵运算(参考整理严蔚敏数据结构)

#include#includeusing namespace std;#define MAXSIZE 100#define MAXRC 20typedef int ElemType;typedef struct Triple{ int i; int j; ElemType e;}Triple;typedef struct RLSMatrix{ Triple data[

2014-10-29 20:03:07 977

原创 数据结构之三元组顺序表实现稀疏矩阵运算(参考整理严蔚敏数据结构)

#include#includeusing namespace std;#define MAXSIZE 100typedef int ElemType;typedef struct{ int i, j; ElemType e;}Triple;typedef struct{ Triple Array[MAXSIZE + 1];//Array[0]放空 int rows; i

2014-10-28 11:44:01 2137

原创 数据结构之有向无环图邻接表利用栈实现拓扑排序(参考整理严蔚敏数据结构)

#includeusing namespace std;#define MAXVEX 100 typedef char VType;typedef int AType;typedef struct ArcNode{ AType adjvex; ArcNode *pNextArc;}ArcNode;typedef struct VexNode{ VType data; Ar

2014-10-27 20:52:11 892

原创 数据结构之无向图邻接表DFS之查询遍历关节点(参考整理严蔚敏数据结构)

#includeusing namespace std;#define MAXVEX 100typedef char VType;typedef struct ArcNode{ int adjvex; ArcNode *pNextArc;}ArcNode;typedef struct VexNode{ VType data; ArcNode

2014-10-27 14:49:20 1487

原创 数据结构之无向图邻接表DFS之创建打印生成森林(整理严蔚敏数据结构)

#includeusing namespace std;#define MAXVEX 100typedef char VType;typedef struct ArcNode{ int adjvex; ArcNode *pNextArc;}ArcNode;typedef struct VexNode{ VType data; ArcNode

2014-10-27 12:25:08 1070

原创 数据结构之树

//树中结点和它的兄弟结点地位相同(如果有)//对应于树的二叉链表来说,沿着结点的右指针(如果有)一直往右走,则当前结点和这些右指针所指向的结点之间都是兄弟#includeusing namespace std;#define QSIZE 20typedef char ElemType;typedef struct CSNode{ ElemType data; CSNode *p

2014-10-22 22:25:29 546

原创 数据结构之二叉树遍历与AllPathPrint(队列)

#includeusing namespace std;typedef char ElemType;typedef struct BTNode{ ElemType data; struct BTNode *pLchild; struct BTNode *pRchild;}BTNode, *pBTNode;void Visit(ElemType e){ cout << e;

2014-10-22 12:48:32 447

原创 数据结构之广义表(头尾链表存储)基本操作

#includeusing namespace std;typedef char AtomType;typedef enum{ ATOM, LIST }ElemTag;typedef struct GLNode{ ElemTag tag; union { AtomType atom; struct { GLNode *pHead, *pTail; }tabl

2014-10-21 21:37:45 7103

原创 数据结构之广义表(扩展线性链表)的基本操作

#includeusing namespace std;typedef char AtomType;enum ElemTag{ATOM,LIST};typedef struct GLNode{ ElemTag tag; union { AtomType atom; GLNode *pHead; }; GLNode *pTail;}GLNode,*GList;voi

2014-10-21 19:35:17 865

原创 数据结构之有向网邻接矩阵Dijkstra实现源点至其余各顶点最短路径

#includeusing namespace std;#define MAXVEX 100#define INFINITY 65535typedef char VNode;typedef int ANode;typedef struct{ VNode Vex[MAXVEX]; ANode Arc[MAXVEX][MAXVEX]; int Vnums; int Anums;

2014-10-21 15:25:37 777

原创 数据结构之无向图邻接表DFS之查询遍历关节点

#includeusing namespace std;#define MAXVEX 100typedef char VType;typedef struct ArcNode{ int adjvex; ArcNode *pNextArc;}ArcNode;typedef struct VexNode{ VType data; ArcNode *pFirstArc;}Ve

2014-10-21 14:22:16 1176

原创 数据结构之无向网(邻接矩阵)之基本操作(含Prim)

#includeusing namespace std;#define MAXVEX 100#define INFINITY 65535typedef char VNode;typedef int ANode;typedef struct MGraph{ VNode Vex[MAXVEX]; ANode Arc[MAXVEX][MAXVEX]; int Vnums; int

2014-10-19 19:30:00 1902

数据结构课程部分代码(适于初学者)

数据结构全部课程代码,适于初学者,在严蔚敏的代码上做了部分修改。

2014-09-21

我的c程序,适于初学者。

我个人编写的小程序,适合于初学者。希望给初学者一些启示。

2014-06-27

自己的C++程序(适于初学者)

自己编的一些关于C\C++的一些小程序,很适合初学者!

2014-06-27

[C程序设计(第四版)].谭浩强.扫描版

谭浩强的C程序设计,高清文字扫描版,适于初学者。

2014-06-16

键盘敲入一个数并输出1~这个数的所有素数

本资源为c语言的一个简单的小程序,是一个项目可直接运行。作为由于时间问题,没有注释。不过还是易懂的。

2014-06-16

电脑组装与维修

高清扫描 图文教程 让你学会组装电脑 装系统!

2014-06-08

空空如也

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

TA关注的人

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