C++
xiao韩
一只大猪猪
展开
-
数据结构与算法导论(C++)连载(九)--排序算法
本文代码实现了六种较为基础的排序算法(冒泡、插入、希尔、堆、归并、快速)。 一、最小堆的建立(堆排序中要用到) 在MinHeap.h中: #include"iostream" using namespace std; #define ElenmentType int typedef struct HeapStruct *MinHeap; struct HeapStruct { Ele...原创 2019-05-08 16:13:35 · 186 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(六)--二叉搜索树
二叉搜索树-非空左子树小于根结点键值,非空右子树大于根结点键值,左右子树均为二叉搜索树。 一、二叉搜索树基本实现 新建一个类BinSeachTree,在BinSeachTree.h中: #include"iostream" using namespace std; #define ElementType int #define SearchTree TreeNode* #define P...原创 2019-04-25 10:41:46 · 297 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(五)--二叉树
二叉树是每个结点最多有两个子树的树结构。遍历有先序/中序/后序三种基本的方式。 新建一个类BinTree。在BinTree.h中: #include"iostream" using namespace std; #define ElementType char class TreeNode { public: ElementType Data; TreeNode * Left; ...原创 2019-04-24 10:27:11 · 160 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(四)--堆栈(顺序存储和链式存储)
堆栈是一种特殊的线性表,因此也可以分为顺序存储和链式存储。队列最突出的特点是先进后出。 一、顺序存储 新建一个类Stack,在Stack.h中: using namespace std; #define ElementType int #define Maxsize 1024 class Stack { public: Stack(); ~Stack(); void Push(...原创 2019-04-23 11:20:43 · 207 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(七)--最大堆和哈夫曼编码
下面主要编码实现关于树结构的两种应用-最大堆和哈夫曼编码。 一、最大堆:根结点是整棵树的最大值的完全二叉树,这种结构在排序等功能中应用的比较广,类似的结构有最小堆。 在MaxHeap.h: #include"iostream" #define ElementType int using namespace std; class MaxHeap { public: MaxHeap();...原创 2019-04-27 14:48:17 · 336 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(三)--队列(顺序存储和链式存储)
队列是一种特殊的线性表,因此也可以分为顺序存储和链式存储。队列最突出的特点是先进先出。 一、顺序存储 新建一个类Queue,在Queue.h中: #include"iostream" using namespace std; #define MaxSize 1024 #define ElementType int // 顺序存储 class Queue { public: Queue...原创 2019-04-22 11:13:44 · 202 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(二)--线性表的链表存储(结构体实现和封装类实现)
线性表存储大概有两类,一个是顺序数组存储,另一个是指针链式存储。这里主要是采用C++编程实现链表存储,优点主要是占用空间小,灵活。 一、普通结构体实现 在xxx.h文件中: ``` #include"iostream" using namespace std; typedef struct LNode *List; stru...原创 2019-04-21 18:19:11 · 293 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(一)--线性表的顺序存储(结构体实现和封装类实现)
线性表存储大概有两类,一个是顺序数组存储,另一个是指针链式存储。这里主要是采用C++编程实现顺序数组存储,优点主要是简单,易懂,操作容易。 一、普通结构体实现 在xxx.h文件中: ``` #include <iostream> using namespace std; #define MAXSIZE 1024 ...原创 2019-04-20 18:32:06 · 299 阅读 · 0 评论 -
数据结构与算法导论(C++)连载(八)--图(邻接矩阵存储和链式邻接表存储)
图-表示多对多的关系,一组顶点V(一个非空有限顶点集合),一组边E(一个有限边集合),边上有权重称为网络。用邻接矩阵(稠密图)或者邻接表(稀疏图)表示一个图。 一、邻接矩阵表示: 在Graph_M.h中: #include"iostream" using namespace std; /******************邻接矩阵表示图*************************...原创 2019-05-06 15:04:28 · 321 阅读 · 0 评论