07 2016 档案

数据结构 树的链式存储(双亲表示法)
摘要://树的链式存储--双亲表示法 #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX_TREE_SIZE 100 typedef struct BPTNode { char data;//数据域 int parentP 阅读全文

posted @ 2016-07-31 11:38 寒魔影 阅读(1556) 评论(0) 推荐(0) 编辑

数据结构 树的链式存储(三叉表示法)
摘要://树的链式存储--三叉表示法 #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct _TreeNode{ //数据域 int data; //指针域 struct _TreeNode * leftchild;/ 阅读全文

posted @ 2016-07-31 11:03 寒魔影 阅读(636) 评论(0) 推荐(0) 编辑

数据结构 树的链式存储(二叉表示法)
摘要://树的链式存储--二叉表示法 #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct _TreeNode{ //数据域 int data; //指针域 struct _TreeNode * leftchild;/ 阅读全文

posted @ 2016-07-31 10:57 寒魔影 阅读(488) 评论(0) 推荐(0) 编辑

数据结构 树的顺序存储
摘要: 阅读全文

posted @ 2016-07-31 10:10 寒魔影 阅读(351) 评论(0) 推荐(0) 编辑

数据结构 树的定义
摘要: 阅读全文

posted @ 2016-07-29 22:10 寒魔影 阅读(250) 评论(0) 推荐(0) 编辑

数据结构 线性表链式队列
摘要://线性表链表队列函数声明 #ifndef _MY_LinkQueue_H_ #define _MY_LinkQueue_H_ typedef void LinkQueue; //创建线性表链表队列 LinkQueue* LinkQueue_Create(); //销毁线性表链表队列 int Lin 阅读全文

posted @ 2016-07-29 10:35 寒魔影 阅读(171) 评论(0) 推荐(0) 编辑

数据结构 线性表顺序队列
摘要://线性表顺序队列函数声明 #ifndef _MY_SEQQUEUE_H_ #define _MY_SEQQUEUE_H_ typedef void SeqQueue; //创建线性表顺序队列 SeqQueue* SeqQueue_Create(int capacity); //销毁线性表顺序队列 阅读全文

posted @ 2016-07-28 10:34 寒魔影 阅读(239) 评论(0) 推荐(0) 编辑

数据结构 栈的应用三(后缀表达式)
摘要://栈的应用--后缀表达式 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #include"linkstack.h" /* 遍历后缀表达式中的数字和符号 对于数字:进栈 阅读全文

posted @ 2016-07-27 14:51 寒魔影 阅读(353) 评论(0) 推荐(0) 编辑

数据结构 栈的应用二(中缀表达式)
摘要://栈的应用--中缀表达式 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include"linkstack.h" /* 遍历中缀表达式中的数字和符号 对于数字:直接输出 对于符号: 左括号:进栈 运算符号:与栈顶符号进行优先级比较 若栈顶符号优先级低:此符合进栈 (默认栈顶若是左括号,... 阅读全文

posted @ 2016-07-27 13:37 寒魔影 阅读(259) 评论(0) 推荐(0) 编辑

数据结构 栈的应用一(就近匹配)
摘要://栈的应用--就近匹配 #include<stdio.h> #include<stdlib.h> #include<string.h> #include"LinkStack.h"//引用链表栈动态库 /* 思路:遍历每个字符,遇到左符号压栈,遇到右符号出栈,比较出栈的符号是否和右符号匹配,遇到普通 阅读全文

posted @ 2016-07-25 14:01 寒魔影 阅读(413) 评论(0) 推荐(0) 编辑

数据结构 线性链表栈
摘要:#ifndef _MY_LINKSTACK_H_ #define _MY_LINKSTACK_H_ typedef void LinkStack; //创建链表栈 LinkStack* LinkStack_Create(); //销毁链表栈 int LinkStack_Destroy(LinkStack** stack); //清空链表栈 int LinkStack_Clear(Link... 阅读全文

posted @ 2016-07-22 22:50 寒魔影 阅读(260) 评论(0) 推荐(0) 编辑

数据结构 线性顺序栈
摘要://线性顺序栈 #ifndef _MY_SEQSTACK_H_ #define _MY_SEQSTACK_H_ typedef void SeqStack; //创建栈 SeqStack* SeqStack_Create(int capacity); //销毁栈 int SeqStack_Destr 阅读全文

posted @ 2016-07-21 21:51 寒魔影 阅读(210) 评论(0) 推荐(0) 编辑

数据结构 线性双向链表
摘要://线性双向链表 #ifndef _MY_DLINKLIST_H_ #define _MY_DLINKLIST_H_ typedef void DLinkList; typedef struct _tag_DLinkListNode { struct _tag_DLinkListNode* next; struct _tag_DLinkListNode * pre; }DLi... 阅读全文

posted @ 2016-07-20 21:02 寒魔影 阅读(490) 评论(0) 推荐(0) 编辑

数据结构 线性循环列表(约瑟夫问题)
摘要:#ifndef _vzhangcirclelist #define _vzhangcirclelist typedef struct _LinkNode{ struct _LinkNode *pnext; }LinkNode; typedef void CircleList; //创建线性循环链表 _declspec(dllexport) CircleList* CircleLi... 阅读全文

posted @ 2016-07-19 20:56 寒魔影 阅读(696) 评论(0) 推荐(0) 编辑

数据结构 线性链表
摘要://线性链表头文件 #ifndef _vzhanglinklist #define _vzhanglinklist typedef struct _LinkNode{ struct _LinkNode *pnext; }LinkNode; typedef void LinkList; //创建线性链表 _declspec(dllexport) LinkList* LinkList_... 阅读全文

posted @ 2016-07-17 23:16 寒魔影 阅读(300) 评论(0) 推荐(0) 编辑

数据结构 顺序线性表
摘要:/* 顺序线性表头文件 */ #ifndef _vzhangseqlist #define _vzhangseqlist typedef void SeqList; typedef void SeqListNode; //创建线性表 _declspec(dllexport)//如果在动态库中定义头文 阅读全文

posted @ 2016-07-17 17:10 寒魔影 阅读(701) 评论(0) 推荐(0) 编辑

数据结构 算法
摘要:#include using namespace std; /* 算法 算法概念 算法是特定问题求解步骤的描述 在计算机中表现为指令的有限序列 算法是独立存在的一种解决问题的方法和思想。 对于算法而言,语言并不重要,重要的是思想。 算法和数据结构区别 数据结构只是静态的描述了数据元素之间的关系 高效的程序需要在数据结构的基础上设计和选择算法 程序=数据结构+算法 总结: 算法是为了解决实... 阅读全文

posted @ 2016-07-15 10:59 寒魔影 阅读(340) 评论(0) 推荐(0) 编辑

数据结构 数据结构分类
摘要:/* 数据的逻辑结构 指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。 逻辑结构可细分为4类: */ /* 数据的物理结构 索引:相当于一个二位数组,通过每行的头指针找到这一行的每个元素 散列:就是一个Hash表 通过键值对存储元素 */ /* 数据的运算 */ 阅读全文

posted @ 2016-07-15 10:22 寒魔影 阅读(675) 评论(0) 推荐(0) 编辑

数据结构 基本概念(数据项--数据元素--数据对象)
摘要://数据结构基本概念 #include using namespace std; /* 数据 – 程序的操作对象,用于描述客观事物 数据的特点: 可以输入到计算机 可以被计算机程序处理 数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型。如:int,float,char等等 数据项:一个数据元素由若干数据项组成 数据元素:组成数据对象的基本单位 数据对象:性质相同的数据元素的集合(... 阅读全文

posted @ 2016-07-15 10:06 寒魔影 阅读(16541) 评论(0) 推荐(8) 编辑

C++ STL标准模板库(list)
摘要://list的使用 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; /* 引用头文件 #include list类本身是一个类模板 list链表中的迭代器list类模板的一个内部类 这个类实现了链表元素指针的功能 是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个 信息块(即... 阅读全文

posted @ 2016-07-13 21:25 寒魔影 阅读(3735) 评论(0) 推荐(0) 编辑

C++ STL标准模板库(queue)
摘要://queue的使用 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; /* 引用头文件 #include queue类本身是一个类模板 C++队列是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。 1.back() 返回一个引用,指向最后一个元素 2.empty() 如果队列空... 阅读全文

posted @ 2016-07-13 13:47 寒魔影 阅读(669) 评论(0) 推荐(0) 编辑

C++ STL标准模板库(stack)
摘要://stack的使用 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; /* 引用头文件 #include stack类本身是一个类模板 stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,— —也就是说实现了一个先进后出(FILO)的数据结构。 1.empty() 堆栈为空则... 阅读全文

posted @ 2016-07-13 12:19 寒魔影 阅读(2546) 评论(0) 推荐(0) 编辑

C++ STL标准模板库(vector)
摘要://vector的使用 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; /* 引用头文件 #include vector类本身是一个类模板 vector类模板是一个线性顺序结构。相当于数组。它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组。 */ class St... 阅读全文

posted @ 2016-07-13 10:52 寒魔影 阅读(529) 评论(0) 推荐(0) 编辑

C++ 类模板四(typename关键字)
摘要: 阅读全文

posted @ 2016-07-12 22:46 寒魔影 阅读(277) 评论(0) 推荐(0) 编辑

C++ 类模板三(类模版中的static关键字)
摘要://类模版中的static关键字 #include using namespace std; /* 类模板本质上是c++编译器根据类型参数创建了不同的类, c++编译器在利用类模板生成类的时候会为每个类生成一个static变量 那么对于类中的static关键字就非常好理解了 static关键字修饰的变量是属于类的 同一个类的对象共享类的static静态变量 类模板中的static修饰的变量数... 阅读全文

posted @ 2016-07-11 22:28 寒魔影 阅读(975) 评论(0) 推荐(1) 编辑

C++ 类模板二(类模版与友元函数)
摘要://类模版与友元函数 #include using namespace std; template class Complex{ public: Complex(T a,T b); void Print() const//const修饰的是this指针 { cout Real Image Complex::Complex(T a, T b){ t... 阅读全文

posted @ 2016-07-11 22:13 寒魔影 阅读(502) 评论(0) 推荐(0) 编辑

C++ 类模板一(类模板的定义)
摘要://类模版语法 #include using namespace std; /* 类模板和函数模板深入理解 1.编译器并不是把函数模板处理成能处理任何类型的函数 2.编译器从函数模板通过具体类型产生不同的函数 3.编译器会对函数模板进行两次编译 4.在声明的地方对模板代码进行编译 5.在调用的地方对参数替换后的代码进行编译 对于类模板原理也是相同 强调2点: ①类模版或者函数模板是c++编译... 阅读全文

posted @ 2016-07-11 21:45 寒魔影 阅读(1266) 评论(0) 推荐(0) 编辑

C语言 百炼成钢27
摘要:/* 题目63:编写C++程序完成以下功能: (1)声明一个纯虚函数类Shape(形状),其中包含来计算面积、计算周长的方法; (2)从Shape派生两个类矩形和圆形; (3)从矩形派生正方形; (4)分别实现派生类构造函数、析构函数和其他方法; (5)创建派生类的对象,观察构造函数、析构函数调用次 阅读全文

posted @ 2016-07-10 21:02 寒魔影 阅读(352) 评论(0) 推荐(0) 编辑

C语言 百炼成钢26
摘要:/* 题目62: 有一下特征字符串"eerrrrqqAB33333ABa333333ABjsfdsfdsa" 编写一个业务函数, 实现功能1:实现按照子串"AB"分割字符串,把“eerrrrqq”,"33333","a333333","jsfdsfdsa" 把实现结果按照二维数组(第2种内存模型)打 阅读全文

posted @ 2016-07-10 17:25 寒魔影 阅读(202) 评论(0) 推荐(0) 编辑

C语言 百炼成钢25
摘要:/* 题目61:编写一个名为removestring的函数,该函数用于从一个字符串中删除一定量的字符。 该函数接受三个参数: 第1参数代表源字符串 第2参数代表需要删除字符的起始位置(位置从0开始) 第3参数代表需要删除的字符个数。 eg:字符串"abcd12345efg" removestring 阅读全文

posted @ 2016-07-10 13:03 寒魔影 阅读(272) 评论(0) 推荐(0) 编辑

C++ 函数模板二(函数模板重载)
摘要://函数模板重载 #include using namespace std; /* 函数模板会进行严格的类型匹配,模板类型不提供隐式类型转化 普通函数能够进行自动类型转换 */ /* 函数模板重载四大规则 1 函数模板可以像普通函数一样被重载 2 C++编译器优先考虑普通函数 3 如果函数模板可以产生一个更好的匹配,那么选择模板 4 可以通过空模板实参列表的语法限定编译器只通过模板匹配 */... 阅读全文

posted @ 2016-07-09 21:48 寒魔影 阅读(4141) 评论(0) 推荐(0) 编辑

C++ 函数模板一(函数模板定义)
摘要://函数模板定义--数据类型做参数 #include using namespace std; /* 函数模板声明 1.函数模板定义由模板说明和函数定义组成,并且一个模板说明对应一个函数定义 2.模板说明的类属参数必须在函数定义中至少出现一次 3.函数参数表中可以使用类属类型参数,也可以使用一般类型参数 */ /* template关键字告诉c++编译器现在要进行泛型编程 typename或... 阅读全文

posted @ 2016-07-09 21:29 寒魔影 阅读(3540) 评论(0) 推荐(2) 编辑

C语言 函数指针三(反向调用)
摘要:动态库代码 业务函数代码 阅读全文

posted @ 2016-07-09 15:21 寒魔影 阅读(1052) 评论(0) 推荐(0) 编辑

C语言 函数指针二(正向调用)
摘要://函数指针做函数参数 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<Windows.h> /* 函数指针做函数参数 实现了2大功能:1.定义了一个指针类型,分配了4个字节大小的内存空间 2.规定了调用函数的参数列表 阅读全文

posted @ 2016-07-09 13:50 寒魔影 阅读(592) 评论(0) 推荐(0) 编辑

C语言 函数指针一(函数指针的定义)
摘要://函数指针 #include<stdio.h> #include<stdlib.h> #include<string.h> //函数指针类型跟数组类型非常相似 //函数名就是函数的地址,函数的指针,对函数名进行&取地址操作,还是函数名本身,这是C语言编译器的特殊处理 void test(int a 阅读全文

posted @ 2016-07-06 21:46 寒魔影 阅读(465) 评论(0) 推荐(0) 编辑

C++ Scoket的升级版(多态的运用)
摘要://Socket报文发送c++升级版 #define _CRT_SECURE_NO_WARNINGS #include using namespace std; #include"des.h" //协议类 class SCK_HANDLE{ public: SCK_HANDLE(){ memset(buf, 0, sizeof(buf)); buflen... 阅读全文

posted @ 2016-07-05 14:55 寒魔影 阅读(439) 评论(0) 推荐(0) 编辑

C++ 抽象类二(抽象类的基本语法)
摘要://抽象类的基本语法 #include using namespace std; /* 有关多继承的说明 被实际开发经验抛弃的多继承 工程开发中真正意义上的多继承是几乎不被使用的 多重继承带来的代码复杂性远多于其带来的便利 多重继承对代码维护性上的影响是灾难性的 在设计方法上,任何多继承都可以用单继承代替 绝大多数面向对象语言都不支持多继承 绝大多数面向对象语言都支持接口的概念 C++中没有... 阅读全文

posted @ 2016-07-04 16:52 寒魔影 阅读(569) 评论(0) 推荐(0) 编辑

C++ 抽象类一(多继承与赋值兼容性原则)
摘要://多继承与赋值兼容性原则 #include using namespace std; class Point{ public: Point(){ a = 1; b = 2; } int a; int b; }; class PointA { public: PointA(){ c = 3; } ... 阅读全文

posted @ 2016-07-04 11:02 寒魔影 阅读(1036) 评论(0) 推荐(0) 编辑

C++ 类的多态五(多态的语法本质分析)
摘要://多态的语法本质分析 #include using namespace std; /* 三种易混淆的多态场景 */ class Point{ public: Point(int b=0){ this->b = b; } virtual void Print(){ cout Print(); //此时p3->Print();会... 阅读全文

posted @ 2016-07-04 09:55 寒魔影 阅读(419) 评论(0) 推荐(0) 编辑

C++ 类的多态四(虚析构函数的重要性)
摘要://虚析构函数的重要性 #include<iostream> using namespace std; /* 虚析构函数 主要用在多态中,用来释放子类对象内存空间,如果不使用虚析构函数, 那么在多态的场景下,使用delete关键字只能执行父类析构函数 子类对象中没有父类对象 父类中有虚函数,子类中重 阅读全文

posted @ 2016-07-02 18:31 寒魔影 阅读(341) 评论(0) 推荐(0) 编辑

C++ 类的多态三(多态的原理--虚函数指针--子类虚函数指针初始化)
摘要://多态的原理--虚函数指针--子类虚函数指针初始化 #include using namespace std; /* 多态的实现原理(有自己猜想部分) 基础知识: 类中的成员函数本质上是C语言中的全局函数,只是在全局函数的参数列表中多加了一个结构体指针参数 详解: 对于类中没有用virtual关键字修饰的成员函数,c++编译器在静态编译的时候,c++就会确定对象调用的全局函数 ... 阅读全文

posted @ 2016-07-02 16:25 寒魔影 阅读(859) 评论(0) 推荐(0) 编辑

C++ 类的多态二(函数重载--函数重写--函数重定义)
摘要://函数重载--函数重写--函数重定义 #include using namespace std; /* 函数重载: 必须在一个类中进行(子类无法重载父类中的函数) 子类无法重载父类的函数,父类同名函数将被子类的同名函数覆盖 重载是在编译期间根据参数类型,顺序,个数决定的函数调用 函数重写 必须发生于父类和子类之间 并且父类和子类中的函数必须有完全相同的函数签名 使用virtual声明之后... 阅读全文

posted @ 2016-07-02 12:18 寒魔影 阅读(863) 评论(0) 推荐(0) 编辑

C++ 面向对象小结
摘要:面向对象三大概念封装 突破C语言函数的概念(可以把变量,方法一起传递)继承 代码复用(复用别人写好的代码)多态 系统升级(不同的子类执行相同的方法有不同的效果) 多态成立三个条件1.要有继承2.要有虚函数重写3要有基类指针(或者基类引用)指向派生类对象 阅读全文

posted @ 2016-07-01 16:04 寒魔影 阅读(243) 评论(0) 推荐(0) 编辑

C++ 类的多态一(virtual关键字--构造函数深刻理解)
摘要://virtual关键字--构造函数深刻理解 #include using namespace std; /* C语言编译器,c++编译器全部是静态链编,就是一段一段代码的编译,不会考虑上下文 例如编译到void ProtectA(Point pin) 编译器就会认为pin就是Point类型, 而不会去联系上下文,去分析pin有没有可能是子类对象 virtual关键字会自动检测这个父类对象... 阅读全文

posted @ 2016-07-01 09:59 寒魔影 阅读(726) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示