自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 #号法创建树

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>typedef struct BiNode{ int data; struct BiNode *lchild, *rchild;}BiNode,*BiTree;BiNode *BiNode_Create(){ BiT...

2018-04-30 21:10:50 264

原创 树的非递归中序遍历

步骤1:结点的所有路径情况如果结点有左子树,该结点入栈;如果结点没有左子树,访问该结点;步骤2:路径所有情况如果结点有右子树,重复步骤1;如果结点没有右子树(结点访问完毕),回退,让栈顶元素出栈,访问栈顶元素,并访问右子树,重复步骤1如果栈为空,表示遍历结束。#include <stdio.h>#include <stdlib.h>#include <string...

2018-04-30 18:15:57 215

原创 树的简单遍历、深度、叶子数量、拷贝

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct BiNode{ int data; struct BiNode *lchild, *rchild;}BiNode,*BiTree;//先序遍历void preOrder(BiNode *root)...

2018-04-30 18:14:33 294

原创 队列的顺序存储设计与实现

//seqlist.h#ifndef _SEQLIST_H_#define _SEQLIST_H_typedef void SeqList;typedef void SeqListNode;SeqList* SeqList_Create(int capacity);void SeqList_Clear(SeqList *list);void SeqList_Destroy(Se...

2018-04-24 22:33:44 209

原创 栈的应用之后缀计算

#include <stdio.h>#include<stdlib.h>#include "LinkStack.h"int isNumber(char c){ return c >= '0'&&c <= '9';}int isOperator(char c){ return c == '+' || c == '-' || c...

2018-04-23 23:54:18 194

原创 栈的应用之中缀转后缀

#include "stdio.h"#include "stdlib.h"#include "string.h"#include "linkstack.h"int isNumber(char c){ return c >= '0' && c <= '9';}int isOperator(char c){ return c == '+' || c

2018-04-23 23:50:39 389

原创 栈的应用之检测括号合法性

#include<stdio.h>#include"linkstack.h"int isLeft(char c){ int ret = 0; switch (c) { case '<': case '(': case '[': case '{': case '\'': case '\"': ret = 1; break; default: ...

2018-04-23 23:45:19 842

原创 栈的链式存储设计与实现

//linklist.h#ifndef _LINKLIST_H_#define _LINKLIST_H_#include<stdio.h>typedef void LinkList;typedef struct _tag_LinkListNode{ struct _tag_LinkListNode *next;}LinkListNode;LinkList *Lin...

2018-04-22 18:06:46 282

原创 栈的顺序存储设计与实现

//seqlist.h#ifndef _SEQLIST_H_#define _SEQLIST_H_typedef void SeqList;typedef void SeqListNode;SeqList *SeqList_Create(int capacity);void SeqList_Clear(SeqList *list);void SeqList_Destroy(Seq...

2018-04-22 12:16:59 255

原创 双向链表

//dlinklist.h#ifndef _MY_DLINKLIST_H_#define _MY_DLINKLIST_H_typedef void DLinkList;/*typedef struct _tag_DLinkListNode DLinkListNode;struct _tag_DLinkListNode{ DLinkListNode* next; DLinkLis...

2018-04-21 21:39:47 157

原创 循环链表

//circlelist.h#ifndef _CIRCLELIST_H_#define _CIRCLELIST_H_typedef void CircleList;/*typedef struct _tag_CircleListNode CircleListNode;struct _tag_CircleListNode{ CircleListNode* next;};*/t...

2018-04-21 15:15:20 164

原创 线性表顺序存储结构

//seqlist.h#ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__typedef void SeqList;typedef void SeqListNode;SeqList* SeqList_Create(int capacity);void SeqList_Destroy(SeqList* list);void Seq...

2018-04-17 23:42:19 149

原创 线性表链式存储

//linklist.h#ifndef _MYLINKLIST_H_#define _MYLINKLIST_H_typedef void LinkList;/*typedef struct _tag_LinkListNode LinkListNode;struct _tag_LinkListNode{LinkListNode* next;};*/typedef struc...

2018-04-17 23:40:03 157

转载 数据结构之空间换时间

#include<iostream>void search(int a[], int len){ int sp[1000] = { 0 }; int i = 0; int max = 0; for (i = 0; i<len; i++) { int index = a[i] - 1; sp[index]++; } for (i = 0; i&lt...

2018-04-15 17:45:00 1120

原创 行为型模式之迭代器模式

#include <iostream>using namespace std;typedef int Object;#define SIZE 5class MyIterator{public: virtual void next() = 0; virtual Object CurrentItem() = 0; virtual bool isDone() = 0;}...

2018-04-15 12:28:14 172

原创 行为型模式之解释器模式

#include<iostream>using namespace std;class Context{public: Context(int num) { m_num = num; } void setNum(int num) { m_num = num; } void setRes(int res) { m_res = res; } ...

2018-04-15 11:08:28 141

原创 行为型模式之状态模式

#include<iostream>using namespace std;class Worker;class State{public: virtual void doSomething(Worker*worker) = 0;};class Worker{public: Worker(); void setHour(int hour) { m_h...

2018-04-15 10:25:13 163

原创 行为型模式之访问者模式

#include<iostream>#include<list>using namespace std;class ParkElement;class Visitor{public: virtual void visit(ParkElement*parkelement) = 0;};class ParkElement{public: virtu...

2018-04-15 09:47:29 158

原创 行为型模式之备忘录模式

#include<iostream>#include<string>using namespace std;class MemTo{public: MemTo(string name, int age) { m_name = name; m_age = age; } string getName() { return m_name; }...

2018-04-15 00:00:13 185

原创 行为型模式之观察者模式

#include<iostream>#include<string>#include<list>using namespace std;class Secretary;class Observer{public: Observer(Secretary* secretary) { m_secretary = secretary; } ...

2018-04-14 23:15:53 132

原创 行为型模型之中介者模式

#include<iostream>#include<string>using namespace std;class Admierter;class Person{public: Person(string name, int sex, int condition, Admierter *admierter) { m_name = name; m...

2018-04-14 22:32:17 158

原创 行为型模式之策略模式

#include<iostream>using namespace std;class Strategy{public: virtual void crypt() = 0;};class DES :public Strategy{public: virtual void crypt() { cout << "DES加密执行!" <<...

2018-04-14 21:05:49 119

原创 行为型模式之责任链模式

#include<iostream>using namespace std;class CarHandle{public: virtual void HandleCar() = 0; CarHandle *setCarHandle(CarHandle*carhandle) { m_carhandle = carhandle; return m_carhandle...

2018-04-14 20:05:42 194

原创 行为型模式之命令模式

#include<iostream>#include<list>using namespace std;class Doctor{public: void treatEye() { cout << "Treat Eye" << endl; } void treatNose() { cout << "Treat.

2018-04-14 18:40:02 144

原创 行为型模式之模板模型

#include<iostream>using namespace std;class MakeCar{public: virtual void MakeHead() = 0; virtual void MakeBody() = 0; virtual void MakeTail() = 0;public: virtual void Make() { MakeT...

2018-04-14 17:31:20 240

原创 享元模式

#include <iostream>#include<string>#include<map>using namespace std;class Person{public: Person(string name, int age) { m_name = name; m_age = age; } virtual void prin...

2018-04-14 16:39:46 123

原创 外观模型

#include<iostream>using namespace std;class Stock{public: void Trade() { cout << "股票交易!" << endl; }};class Bond{public: void Trade() { cout << "债券交易!" <&a

2018-04-14 15:22:36 509

原创 组合模式

#include<iostream>#include<list>#include<string>using namespace std;class IFile{public: virtual void display() = 0; virtual bool add(IFile*) = 0; virtual bool remove(IFile*...

2018-04-14 14:48:49 140

原创 桥接模式

#include<iostream>using namespace std;class Engine{public: virtual void InstallEngine() = 0;};class Engine4400cc :public Engine{public: virtual void InstallEngine() { cout <&lt...

2018-04-14 11:13:24 128

原创 适配器模式

#include<iostream>using namespace std;class Current18v{public: virtual void useCurrent18v() = 0;};class Current220v{public: void useCurrent220v() { cout << "我是220v欢迎使用!" &lt...

2018-04-12 23:40:44 100

原创 装饰模式

#include<iostream>using namespace std;class Car{public: virtual void show() = 0;};class RunCar :public Car{public: virtual void show() { cout << "可以跑!" << endl; }};...

2018-04-12 23:25:42 97

原创 代理模式

#include<iostream>using namespace std;class BookStore{public: virtual void SellBook() = 0;};class PhysicBookStore:BookStore{public: virtual void SellBook() { cout << "实体店卖书!...

2018-04-11 23:58:20 100

原创 原型模式

#define _CRT_SECURE_NO_WARNINGS#include <iostream>using namespace std;#include "string"class Person{public: virtual Person* Clone() = 0; virtual void Print() = 0; virtual void setDescr...

2018-04-11 23:17:23 114

原创 建造者模式

#include<iostream>using namespace std;#include "string"//房子class House{public: void setDoor(string door) { m_door = door; } void setWindow(string window) { m_window = window; }...

2018-04-11 22:16:29 87

原创 抽象工厂模式

#include<iostream>using namespace std;class Fruit{public: virtual void SayName() = 0;};class AbstractFactory{public: virtual Fruit* CreatBanana() = 0;//缺点:产品线已经写死了! virtual Fruit* C...

2018-04-11 20:56:14 80

原创 简单工厂模式

#include<iostream>using namespace std;class Fruit{public: virtual void getFruit() = 0;};class Banana :public Fruit{public: virtual void getFruit() { cout << "我是香蕉,欢迎品尝!" &lt...

2018-04-10 23:24:42 99

原创 工厂模式

#include<iostream>using namespace std;class Fruit{public: virtual void sayname() = 0;};class Banana :public Fruit{public: virtual void sayname() { cout << "我是香蕉,属性为..." <...

2018-04-10 23:23:03 98

原创 饿汉式单例模式

#include<iostream>using namespace std;class Singelton{private: Singelton() { cout << "Singelton 构造函数执行!" << endl; }public: static Singelton *getInstace() { if (m_psl ...

2018-04-10 20:57:56 117

原创 懒汉单例模式

#include<iostream>using namespace std;//懒汉单例模式class Singelton{private: Singelton() { cout << "Singelton 构造函数执行!" << endl; }public: static Singelton *getInstace() { i...

2018-04-10 20:51:58 113

转载 设计模式基本原则

最终目的:高内聚,低耦合1)  开放封闭原则  (OCP,Open For Extension,Closed For Modification Principle)类的改动是通过增加代码进行的,而不是修改源代码。2)  单一职责原则  (SRP,Single Responsibility Principle)类的职责要单一,对外只提供一种功能,而引起类变化的原因都应该只有一个。3)   依赖倒置原...

2018-04-10 20:19:29 126

空空如也

空空如也

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

TA关注的人

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