#include <iostream>
using namespace std;
#define MAXNODE 500//最大顶点个数
#define Inf 65535//无穷大
typedef int vertype;
struct VerNode
{
vertype vertex; 顶点信息,可以是字母表示,也可以是数字表示
//.....; 和顶点相关的其它信息,如顶点的度
};
struct Arc
{
int adj;// 两顶点之间是否存在关系,用1或0表示相邻否;如果是带权图,则为权值类型
//....;// 和弧(或边)相关的信息,如弧头、弧尾
};
struct MGraph//图的邻接矩阵表示类型
{
VerNode vex[MAXNODE];//顶点向量
Arc arcs[MAXNODE][MAXNODE];//邻接矩阵
int vexnum,arcnum;//图的当前顶点数和弧数
};
int sum=0;//保存所走路径的花费
MGraph CreatMGraph(MGraph g)//创建邻接矩阵
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>g.vex[i].vertex;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
g.arcs[i][j].adj=Inf;//初始化邻接矩阵,各顶点间无路
}
}
int i,j,quan,e=0;
cin>>i>>j;//输入一条边依附顶点的序号
cin>>quan;
while(
基于邻接矩阵存储的图的最短路径问题(Dijkstra算法)
最新推荐文章于 2024-06-02 23:06:34 发布