packagecom.cn.datastruct;importjava.util.Scanner;//最短路径求解
public classDistMin {static classGraphMatrix{static final int MaxNum=20;char[] Vertex=new char[MaxNum]; //保存顶点信息(序号或字母)
int GType; //图的类型(0:无向图,1:有向图)
int VertexNum; //顶点的数量
int EdgeNum; //边的数量
int[][] EdgeWeight=new int[MaxNum][MaxNum]; //保存边的权
int[] isTrav=new int[MaxNum]; //遍历标志
}static final int MaxValue=65535; //最大值(可设为一个最大整数)
static int[] path=new int[GraphMatrix.MaxNum]; //两点经过的顶点集合的数组
static int[] tmpvertex=new int[GraphMatrix.MaxNum]; //最短路径的起始点集合
static Scanner input=newScanner(System.in);//创建邻接矩阵图
static voidCreateGraph(GraphMatrix GM){inti,j,k;int weight; //权
char EstartV,EendV; //边的起始顶点
System.out.printf("输入图中各顶点信息\n");for(i=0;i
System.out.printf("第%d个顶点:", i+1);
GM.