创建图及弗洛伊德核心算法
public class Graph {
private char[] vertex;//存放顶点的数组
private int[][] dis;//保存,从各个顶点出发到其他顶点的距离,最后的结果,也是保留在该数组
private int[][] pre;//保存到达目标顶点的前驱顶点
//构造器
/**
* @param length 大小
* @param matrix 邻接矩阵
* @param vertex 顶点数组
*/
public Graph(int length, int[][] matrix, char[] vertex) {
this.vertex = vertex;
this.dis = matrix;
this.pre = new int[length][length];
//对pre 数组初始化,注意存放是前驱顶点的下标
for (int i = 0; i < length; i++) {
Arrays.fill(pre[i], i);
}
}
//显示pre数组和dis 数组
public void show() {
//为了显示便于阅读
char[] vertex = {
'A', 'B', &