📄 graph.h
字号:
#include "Queue.h" //引用队列文件
#define maxSize 50 //定义图的最大顶点数
#define INFINITY 32767 //定义权值最大值
//定义邻接表中的边结点类型
class EdgeLink{
public:
int weight; //权值域
int v2; //边的尾结点
EdgeLink* next;//指向下一个边结点的链域
};
//定义最小生成树的存储结构
struct Tree
{
int x; //起始边
int y; //尾边
};
typedef EdgeLink* Edge;
struct Node //定义邻接表类型
{
char Vertex; //保存结点的数据
Edge head; //引出单链表
};
//定义图类型
class Graph
{
private:
int matrix[maxSize][maxSize]; //邻接矩阵
Node *list; //邻接表
int numVertex; //顶点数
int numEdge; //边数
bool *Mark; //
Tree *T; //最小生成树
public:
Graph(); //构造函数
~Graph(); //析构函数
int n() {return numVertex;} //获取顶点数
int e() {return numEdge;}
bool IsEmpty(); //判断图是否为空
Edge first(int pos); //返回顶点的第一条边
int first2(int pos); //返回顶点的第一条边
Edge next(Edge w); //返回顶点的下一条边
bool IsEdge(Edge e); //判断是否为图中的一条边
int weight(int ,int); //返回边的权
int weight(Edge); //返回边的权
void initializtion(); //初始化
void CreateGraph(); //建立图
void Graph_traverse(char,int); //遍历函数
void DFS(int v); //深度遍历函数
void BFS(int start); //广度遍历函数
void Prim(int s); //生成最小生成树函数
int minVertex(int *D); //选择最小权值的顶点
void AddEdgetoT(int,int); //连接边
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -