⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgraph.h

📁 GraphPath 采用邻接矩阵存储图
💻 H
字号:
//Graph.h
//uuhorse
//2008.05.30


/////////////////////////////////////////////

#ifndef _MG_GRAPH_ADJMATRIX_
#define _MG_GRAPH_ADJMATRIX_



#define INFINITY 100/*INT_MAX*/ 		//树权最大值
#define MAX_VERTEX_NUM 20		//最大顶点个数

typedef enum {DG, DN, UDG, UDN} GraphKind;		//{有向图,有向网,无向图,无向网}
typedef char VertexType ;


typedef struct ArcCell
{
	int adj;	//顶点关系类型,无权用0 1
	int *info;	//该弧存储的相关信息指针
}ArcCell, AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

typedef struct
{
	VertexType vexs[MAX_VERTEX_NUM];	//顶点向量
	AdjMatrix arcs;		//邻接矩阵
	int vexnum,arcnum;	//当前顶点数和弧数
	GraphKind kind;		//图的种类标志
}MGraph;


int CreatGraph (MGraph &G);//采用数组(邻接矩阵)表示法,构造图G
int CreatDG(MGraph &G); //构造有向图G
int CreatDN(MGraph &G); //构造有向网G
int CreatUDG(MGraph &G); //构造无向图G
int CreatUDN(MGraph &G); //构造无向网G

int SearchPath(MGraph &G, VertexType i ,VertexType s); 
//在图G中求一条从顶点i到顶点s 的简单路径。

int LocateVex (MGraph G, VertexType v);	//返回v在G中的位置



#endif

/////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -