图
输出最短的路径,这里以源点0=>6进行说明,dist[6]=16
,即该路最短路径长度为16。path[6]=4,path[4]=5,path[5]=2,path[2]=1,path[1]=0
,反推出最短路径为0 -> 1-> 2 -> 5 - > 4 -> 6
从顶点0到顶点1的路径长度为:4 路径为:0,1
从顶点0到顶点2的路径长度为:5 路径为:0,1,2
从顶点0到顶点3的路径长度为:6 路径为:0,3
从顶点0到顶点4的路径长度为:10 路径为:0,1,2,5,4
从顶点0到顶点5的路径长度为:9 路径为:0,1,2,5
从顶点0到顶点6的路径长度为:16 路径为:0,1,2,5,4,6
dijskra算法代码实现
#ifndef UNTITLE_MATGRAPH_H
#define UNTITLE_MATGRAPH_H
#endif //UNTITLE_MATGRAPH_H
#define MAXV 10
#define INF 32767
typedef struct {
int no; //顶点的编号
char info; //顶点的其他信息
}VertexType; //顶点的类型
typedef struct {
int edges[MAXV][MAXV]; //邻接矩阵数组
int n, e; //定点数,边数
VertexType vexs[MAXV]; //存放顶点信息
}MatGraph; //完整的邻接矩阵类型
#include "../MatGraph.h"
#include "bits/stdc++.h"