rendered paste bodypackage p2;public class Graph { static boolean allselected(int []selected) { for(int i:selected) { if(i==0) return false; } return true; }static final int MAX=7;static final int INFINITE=998; static void shortpath(int cost[][],int []preced,int []distance) { int selected[]=new int[MAX]; int current=0,i,k=0,dc,smalldist,newdist; for(i=0;i<MAX;i++) distance[i]=INFINITE; selected[current]=1; distance[0]=0; current=0; while(!allselected(selected)) { smalldist=INFINITE; dc=distance[current]; for(i=0;i<MAX;i++) { if(selected[i]==0) { newdist=dc+cost[current][i]; if(newdist<distance[i]) { distance[i]=newdist; preced[i]=current; } if(distance[i]<smalldist) { smalldist=distance[i]; k=i; } } } current=k; selected[current]=1; } } public static void main(String args[]) { int cost[][]=new int[][]{new int[]{INFINITE,2,4,7,INFINITE,5,INFINITE},{2,INFINITE,INFINITE,6,3,INFINITE,8},{4,INFINITE,INFINITE,INFINITE,INFINITE,6,INFINITE},{7,6,INFINITE,INFINITE,INFINITE,1,6},{INFINITE,3,INFINITE,INFINITE,INFINITE,INFINITE,7},{5,INFINITE,6,1,INFINITE,INFINITE,6},{INFINITE,8,INFINITE,6,7,6,INFINITE}}; int i; int preced[]=new int[MAX]; int distance[]=new int[MAX]; shortpath(cost,preced,distance); for(i=0;i<MAX;i++) System.out.printf("%d%n",distance[i]); }}