数据结构与算法
NDJForever
这个作者很懒,什么都没留下…
展开
-
C++实现链栈和链式队列
数据结构应该活学活用,定义的数据可以不一样,可以同过增加数据开源表示成很多种含义 /***********栈的链式实现(调试结束)*************/栈是一种简化的链表 template class StackNode { public: Type data; StackNode *next; StackNode() :data(Type()), ne原创 2017-04-13 20:59:30 · 368 阅读 · 0 评论 -
使用数组实现堆栈
#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXSIZE 10#define OK 1#define ERROR 0typedef int Status;typedef int SElemType;struct SqStack{ SElemType data[MAXSIZE];//数组实现原创 2017-09-13 20:11:38 · 411 阅读 · 0 评论 -
C++实现迪杰斯特拉(Dijkstra)算法
#include<iostream>#include <windows.h>#define MAX 9using namespace std;//网图类template<class Type>class NetGraph{private: Type vexs[MAX];//顶点表 int arc[MAX][MAX];//邻接矩阵 int numVertexes原创 2017-05-08 19:25:41 · 628 阅读 · 0 评论 -
普里姆(Prim)算法
/*********************普里姆(Prim)算法******************///网类template<class Type>class NetGraph{private: Type vexs[MAX];//顶点表 int arc[MAX][MAX];//邻接矩阵 int numVertexes, numEdges;//当前网中节点、边数原创 2017-05-06 17:19:15 · 270 阅读 · 0 评论 -
二叉树的递归插入
/*********************二叉树的递归插入******************/template<class Type>class TreeNode{public: Type data; TreeNode *left; TreeNode *right; TreeNode(Type value, TreeNode *l = nullptr, T原创 2017-04-23 12:38:53 · 483 阅读 · 0 评论 -
C++十字链表实现有向图
/*********************十字链表实现有向图******************///边表节点template<class Type>class EdgeNode{public: int tailvex;//弧起点在顶点表的下标 int headvex;//弧终点在顶点表的下标 //int weight;用于存储权值非网图不需要 EdgeN原创 2017-05-04 16:27:54 · 1119 阅读 · 0 评论 -
C++邻接表实现无向图、有向图
/*********************邻接表实现有向图******************///邻接表实现有向图缺点:只有出度,没有入度;解决方法:逆邻接表、十字链表//边节点类template<class Type>class EdgeNode{public: int adjvex;//邻节点域,存储该节点对应的下标 //int weight;//用于存储权值,非原创 2017-05-03 21:16:49 · 5282 阅读 · 0 评论 -
C++邻接矩阵实现有向图、无向图
/*********************邻接矩阵实现无向图******************/class MatrixUDG{private: char mVexs[MAX];//顶点集合 int mVexBum;//顶点数 int mEdgNum;//边数 int mMatrix[MAX][MAX];//邻接矩阵 char readChar();/原创 2017-05-03 19:49:45 · 4271 阅读 · 0 评论 -
C++实现优先队列
/***********优先队列的(单向)链式实现形式*************/ 节点类 template class QueueNode { public: Type data;//数据 int priority;//优先级 QueueNode *next; QueueNode() :data(Type()), priority(0), next原创 2017-04-14 16:51:43 · 1317 阅读 · 0 评论 -
C++实现二叉查找树
/***********二叉查找树的实现*************/ //节点类 template class TreeNode { public: Type data; TreeNode *left; TreeNode *right; TreeNode() :data(Type()), left(nullptr), right(nullptr){}原创 2017-04-18 20:42:05 · 637 阅读 · 0 评论 -
C++实现双向循环链表
/***********双向循环链表(代码调试正常,所有功能均测试)*************/ //节点类 template class ListNode { public: Type data;//节点数据域 ListNode *next;//后继指针 ListNode *prev;//前驱指针 ListNode() :data(Type()),原创 2017-04-10 17:07:37 · 283 阅读 · 0 评论 -
使用扩展二叉树的方法建立二叉树
/************************************************************************* * > File Name: test.c > Author: ma6174 > Mail: [email protected] > Created Time: Tue 19 Sep 2017 09:59:50 PM CS原创 2017-09-20 13:26:49 · 671 阅读 · 1 评论