#include <iostream>
using namespace std;
#define MAXVEX 9 //最大顶点数
#define INFINITY 65535 //极大值 即无穷
typedef struct
{
string vexs[MAXVEX]; //顶点表
int arc[MAXVEX][MAXVEX]; //邻接矩阵,可看做边表
int numNodes, numEdges; // 图中当前的顶点数和边数
}MGraph;
void CreateMGraph(MGraph& G)
{
int i, j, k, w;
cout << "请输入顶点数和边数" << endl;
cin >> G.numNodes >> G.numEdges;
for (i = 0; i < G.numNodes; i++) //建立顶点表
{
cout << "请输入顶点值" << endl;
cin >> G.vexs[i];
}
for (i = 0; i < G.numNodes; i++)
{
for (j = 0; j < G.numNodes; j++)
{
G.arc[i][j] = INFINITY; //邻接矩阵初始化
}
}
for (k = 0; k < G.numEdges; k++) //建立邻接矩阵
{
cout << "请输入边(vi,vj)上的下标i,下标j和权" << endl; //输入边上的权
cin >> i >> j >> w;
G.arc[i][j] = w;
G.arc[j][i] = G.arc[i][j]; //无向图中矩阵对称
}
}
ty
c++实现最短路径迪杰斯特拉算法
最新推荐文章于 2024-06-03 09:00:00 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)