自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 邻接表建图

#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<queue>using namespace std;#define MaxvertexNum 80#define INFINITY 65535struct DataType { int a, b, c;};typedef struc...

2019-09-25 23:17:33 266

原创 B+树和Hash索引

特点:非叶子节点的子树指针和关键字相同 非叶子节点的子树指针P[i],指向关键字值【k[i],k[i+1]】的子树 非叶子节点不存储数据,仅存储索引,这样就意味着可以存储更多的关键字了,使得树变得更矮胖(io操作也随之减少)。 所有的叶子节点均有一个链指针指向下一个叶子节点 ,按顺序连接,方便我们在叶子节点进行范围统计。B+树更适合做索引B+树的磁盘读写代价更低 B+树的查询...

2019-08-21 15:37:55 155

原创 关于单例模式的写法理解

class MyCas{private: MyCas() { }private: static MyCas *m_instance;public: static MyCas *Getinstance() { if (m_instance == NULL) { m_instance = new MyCas(); static cGarhuishou c1; }...

2019-08-17 11:33:13 168

原创 关于std::async的学习总结

一.std::async :它是用来创建异步任务,会返回一个std::future对象。std::future是一个类模板。使用实例:std::future<int> result = std::async(std::launch::deferred | std::launch::async,myThread,10);async的两个参数设置:std::launc...

2019-08-17 11:32:44 207

原创 socket通讯学习(1)

完成windows和linux系统之间的配置共享安装samba sudo apt-get install samba;vim /etc/samba/smb.conf结尾处添加:[code]path=/codewriteable=yesbrowseable=yesguest ok=yes然后重启 pkill smbdsmbdps -ef | grep ...

2019-08-04 10:08:19 88

转载 H.264编解码器

JMH.264标准研究团队的官方参考软件实现了H.264的全部特征运算复杂,无优化,编解码难以实时常用于科学研究领域http://iphome.hhi.de/suehring/tml/旧版本下载 http://iphome.hhi.de/suehring/tml/download/old_jm/X264著名的H.264开源编码器,由开源组织VideoLan开发制定(VLC播放器是...

2019-07-15 20:11:50 109

原创 session与cookie的区别

(1)Cookie以文本文件格式存储在浏览器中,而session存储在服务端它存储了限制数据量。它只允许4kb它没有在cookie中保存多个变量。(2)cookie的存储限制了数据量,只允许4KB,而session是无限量的(3)我们可以轻松访问cookie值但是我们无法轻松访问会话值,因此它更安全(4)设置cookie时间可以使cookie过期。但是使用session-dest...

2019-06-21 09:58:38 99

原创 socket(C++)客户端和服务端

服务端#define _WINSOCK_DEPRECATED_NO_WARNINGS#include<WinSock2.h>#include<stdio.h>#define PORT 5150#define MSGSIZE 1024#pragma comment(lib,"ws2_32.lib")void main(){ //1.初始化 WS...

2019-06-20 11:37:00 480

原创 C++调用Mysql

#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include <mysql.h>int main(){ MYSQL * con; //= mysql_init((MYSQL*) 0); MYSQL_RES *res; MYSQL_ROW row; char tmp[400]; //database confi...

2019-06-02 09:36:36 166

原创 迭代器模式

#include <iostream>using namespace std;// MyIterator Aggregate ContreteIterator ConcreteAggregate// a b c d// ▲typedef int Object ;#define SIZE 5 class MyIterator{public:...

2019-05-17 21:22:12 113

原创 解释器模式

#include <iostream>using namespace std;// Context // Expression // PlusExpression MinusExpression class Context{public: Context(int num) { this->m_num = num; } int getNum(...

2019-05-17 20:39:43 68

原创 状态模式

#include <iostream>using namespace std;class Worker;class State{public: virtual void doSomeThing(Worker *w) = 0;};class Worker{public: Worker(); int getHour() { return m_hour;...

2019-05-17 17:52:38 70

原创 访问者模式

#include<string>#include<list>class Park;class Visitor {public: virtual void visit(Park *park) = 0;};class Park {public: Park(string name) { this->ParkName = name; } strin...

2019-05-17 15:55:10 66

原创 备忘录模式

#include <iostream>using namespace std;#include "string"//Caretaker 管理者// MememTo 备忘录class MememTo{public: MememTo(string name, int age) { m_name = name; m_age = age; } string...

2019-05-17 15:01:49 73

原创 观察者模式

适用于:定义对象间一对多的依赖关系,使得每一个对象改变状态,则所有以来于他们的对象都会得到通知#include<list>class Secretary;//观察者class PlayerObserver {public: PlayerObserver(Secretary *secretary) { this->m_secretary = secret...

2019-05-17 13:32:02 157

原创 中介者模式

class Mediator;class Person{public: Person(string name, int sex, int condi,Mediator *mediator) { m_name = name; m_sex = sex; m_condi = condi; m_mediator = mediator; } string getName()...

2019-05-16 21:40:08 67

原创 策略模式

class Strategy {public: virtual void crypt() = 0;};class AES :public Strategy{public: virtual void crypt() { cout << "AES加密算法" << endl; }};class DES :public Strategy {public:...

2019-05-15 23:14:54 106

原创 责任链模式

该模式构造一系列分别担当不同职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称为责任链模式。class CarHandle {public: virtual void HandleCar()=0; CarHandle* setnextHandle(CarHandle *handle) { this->m_carhandle = handle; ...

2019-05-15 11:54:27 201

原创 命令模式

#include<list>class Doctor {public: void treat_eye() { cout << "医生治疗眼睛" << endl; } void treat_nose() { cout << "医生治疗鼻子" << endl; }};class Command {public:...

2019-05-14 23:06:01 110

原创 模板模式

class MakeCar {public: virtual void MakeHead() = 0; virtual void MakeBody() = 0; virtual void MakeTail() = 0;public: void make() { MakeHead(); MakeBody(); MakeTail(); }private:};cla...

2019-05-14 22:46:40 68

原创 计算机网络学习笔记(一)

1.总时延=发送时延+传播时延+处理时延+排队时延2.具有五层协议的体系结构,OSI有七层协议结构,TCP/IP是一个四层体系结构。综合OSI和TCP/IP优点,采用只有五层协议的体系结构,这协议是部署在边缘的设备采用的。核心部分只有网络层应用层:功能是通过应用进程间的交互完成特定网络应用。代表协议:http/SMTP/FTP运输层:负责向两个主机中进程间的通信提供通用的数据传输...

2019-05-13 10:47:20 128

原创 享元模式

#include "map"class Person{public: Person(string name, int age) { this->m_name = name; this->age = age; } virtual void printT() = 0;protected: string m_name; int age;};class...

2019-05-12 15:22:41 77

原创 组合模式&&外观模式

组合模式#include<list>class IFile {public: virtual void display() = 0; virtual int add(IFile *ifile) = 0;//添加一个文件 virtual int remove(IFile *ifile) = 0;//移除一个文件 virtual list<IFile *>* ...

2019-05-12 13:31:35 363

原创 桥接模式

class Engine {public: virtual void InstallEngine() = 0;};class _4400ss:public Engine{public: virtual void InstallEngine(){ cout << "4400c发动机"<< endl; }};class _4500ss :public E...

2019-05-10 21:14:21 167

原创 代理模式&&装饰模式

一.代理模式class Subject{public: virtual void sailbook() = 0;};class RealSubjectBook {public: virtual void sailbook() { cout << "实体店卖书" << endl; }};class dangdang :public Subjec...

2019-05-10 16:32:23 99

原创 原型模式

一个复杂的对象,具有自我复制的功能class Person {public: virtual Person *clone()=0; virtual void prinT()=0;};class CPlusProgrammer :public Person{public: CPlusProgrammer() { this->m_name = ""; this-&...

2019-05-10 15:05:57 78

原创 建造者模式

#include<iostream>#include<stdio.h>using namespace std;#include<string>//对象的表示class House {public: void setFloor(string floor) { this->m_floor = floor; } void setW...

2019-05-10 13:39:41 77

原创 简单工厂模式和工厂模式

(简单工厂模式不是标准的设计模式)class Fruit{public: virtual void getFruit()=0;}class Banana:public Fruit{public: virtual void getFruit() { cout<<"我是香蕉"<<endl; }};clas...

2019-05-09 23:11:12 221

原创 设计模式C++ (基本原则)

1.设计模式的基本原则:开放封闭原则:类的改动应该是通过增加代码实现而不是更改代码class BankWorker{public: void save(){cout<<"存款"<<endl;} void moveM(){cout<<"转账"<<endl} void giveM(){cout<<"缴费"...

2019-05-09 21:09:49 126

原创

邻接矩阵表示图:1.图(邻接矩阵)初始化typedef struct GNode *PtrToGNode;struct GNode{ int Nv; int Ne; WeightType G[MaxVertexNum][MaxVertexNum];};typedef PtrToGNode MGraph;typedef int Vertex;MGrap...

2019-05-08 16:17:09 72

原创 用数组来建立一个最小堆

#define MaxN 1001#define MinH -10001int H[MaxN],size;void Creat(){ size=0; H[0]=MinH;//堆都是从下标为1开始的,在0处设置一个哨兵,最小值。}void Insert(int x){ int i; for(i=++size;H[i/2]>x;i/=2) ...

2019-05-08 10:34:20 1166

原创 二叉搜索树

左节点比父亲节点小,右节点比父亲节点大//二叉搜索树往二叉搜索数中插入节点BiTree* Insert(ElementType X,Bitree* BST){ if(!BST)//意思是BST是一个空树 { *BST=(Bitree*)malloc(sizeof(BiTree)); BST->data=X; BST-...

2019-05-08 09:51:45 75

原创 并查集

并查集查找:首先我们先定义一个结构体struct SetType{ ElementType data; int Parent;}data是数据,parent是指向和哪个有连接的下标。比如说表格所示,用数组存储的数据。存储了三个集合现在我想找一个data=x的元素属于哪个集合,下面是find函数int Find(settype a[],int X)...

2019-05-08 09:46:45 92

原创 哈夫曼树的构造

每次把权值最小的两颗二叉树合并typedef struct TreeNode *HuffmanTree;struct TreeNode{ int weight; HuffmanTree left,right;}HuffmanTree Huffman(MinHeap H){ int i;HuffmanTree T; BuildMinHeap(H)//...

2019-05-07 20:25:36 280

原创 栈的应用

1.就近原则(匹配字符串括号)int isleft(char c){ int ret=0; switch(c){ case '<': case '{': case '(': case '[': case '\'': case '\"': ret=1;...

2019-05-06 20:29:40 86

原创 栈Stack (线性表实现)

1.栈是一种特殊的线性表linklist.h文件#ifndef _MYLINKLIST_H_#define _MYLINKLIST_H_typedef void LinkList;/*typedef struct _tag_LinkListNode LinkListNode;struct _tag_LinkListNode{ LinkListNode* next;};...

2019-05-04 17:09:17 521

原创 双向链表

1.创建链表2.销毁链表3.获取链表长度4.清空链表5.获取第pos个元素6.插入元素到位置pos7.删除位置pos的元素typedef struct _tag_DLinkListNode{ struct _tag_DLinkListNode* next; struct _tag_DLinkListNode* pre;}DlinkListNode;...

2019-05-04 15:24:43 70

原创 C++类型转换

1.类型转换名称和语法C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)aC++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。static_cast 静态类型转换。如int转换成charreinterpreter_cast 重新解释类型dynamic_cast 命名上理解是动态类型转换。如子类和父类之间的多态类型...

2019-05-02 13:03:54 56

原创 单向链表逆置操作

1.主要是利用头插法,先初始化一个空的逆置链表,再按顺序遍历原始链表,根据头插法来填充逆置链表typename struct Node{ int data; Node *next;} //链表逆置Node *reverse_list(Node *ls){ Node *p,*q; p=ls->next; ls->next=NULL...

2019-05-01 15:57:22 211

原创 单向链表基本操作

struct list{ int data; struct list *next;}//节点定义//创建一个节点struct list *create_list(){ return calloc(sizeof(struct list),1);}//遍历链表void traverse_list(struct list *s){ struct list...

2019-05-01 14:19:50 117

空空如也

空空如也

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

TA关注的人

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