您的位置:首页 > 其它

任意两点之间最短路径

2007-12-07 08:52 477 查看

package shortestpath;






public class ShortestPath ...{


static int node;//节点总数


static int[][] array;


//初始化图




static int[][] init(int node)...{


array = new int[node][node];


for(int i = 0; i< node;i++)




...{ for(int j = i;j <node; j++)...{


array[i][j] = (int) (Math.random() * node + 1);//防止相异的两点距离为0的情况出现


array[j][i] = array[i][j];


}


array[i][i] = 0;


}


return array;


}


//注意:k 的循环要在最外层




static int[][] shortestpath()...{




for(int k =0;k < node; k++)...{




for(int i = 0; i< node; i++)...{




for(int j =0;j < node ;j++)...{


if(array[i][j] > array[i][k] + array[k][j])


array[i][j] = array[i][k] + array[k][j];


}




}


}


return array;


}


//测试程序




public static void main(String[] args)...{


node = 5;


init(node);




for(int i = 0;i < node;i++)...{




for(int j=0;j <node;j++)...{


System.out.print(array[i][j] + " ");


}


System.out.println(" ");


}


shortestpath();


System.out.println("");


System.out.println("");




for(int i = 0;i < node;i++)...{




for(int j=0;j <node;j++)...{


System.out.print(array[i][j] + " ");


}


System.out.println("");


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: