package com.sun.demo;
public class Routing {
public static void main(String[] args) {
int [] nodes={0,1,2,3,4,5,6,7,8,9};
int [][] cost={{0,10,500,30,100,500,120,20,500,500},
{500,0,20,20,10,500,500,60,50,60},
{50,500,0,500,20,20,500,40,50,55},
{500,30,50,0,500,500,67,40,30,10},
{500,15,20,500,0,500,45,49,500,500},
{500,60,70,500,45,0,50,500,500,69},
{500,500,500,69,30,45,0,500,500,500},
{500,10,20,500,40,50,500,0,40,500},
{10,20,500,500,500,49,56,68,0,500},
{15,500,500,20,40,500,500,10,120,0}};
Side[][]map;
map= new Side[10][6];
int [][] dispose;
dispose = new int [10][10];
int maxint=500;
int i,j,k;
for(i=0;i<10;i++)//初始化dispose中的值
for(j=0; j<10;j++){
dispose[i][j]=0;
}
for(i=0;i<10;i++)//把dispose中的maxint对应的值换为0
for(j=0; j<10;j++)
{
if(i==j)
dispose[i][j]=0;
else
if(cost[i][j]<maxint)
dispose[i][j]=cost[i][j];
else
dispose[i][j]=0;
}
for(i=0;i<10;i++)//把dispose中值为0 的数值去掉并存入到map中,map中的数据类型为定义类型Side
for(j=0;j<10;j++){
if(dispose[i][j]==0)
{}
else
if(dispose[i][j]!=0)
for(k=0;k<6;k++){
map[i][k]= new Side(i,j,dispose[i][j]);
}
}
//插入排序法
for(i=0;i<10;i++)
for(k=2;k<6;k++){
int temp=0;
if(map[i][k].getCost()<map[i][k-1].getCost())
temp =map[i][k].getCost();
for(j=k-1; temp <map[i][k].getCost();j--)
{
map[i][k+1]=map[i][k];
map[i][k]=map[i][0];
}
for(i=0;i<10;i++)
for(k=1;k<7;k++)
System.out.println("矩阵为:"+map[i][k]);
}
}
}