Ayuda codigo java, punto mas cercano

Hola, estoy programando en java, tengo un grafo con 3 nodos unidos en forma de V es decir uno principal unido a otros dos y estoy intentando hacer que me diga al ejecutar eso cual esta mas cerca al nodo principal, para ello estoy utilizando el algoritmo DIJKSTRA, y el codigo que e echo es el siguiente: pero cuando lo ejecuto aunque no me da fallos no me dice cual es el punto mas cercano y necesitaria almenos que la linea que los une cambiara de color o que devolviera un mensaje por pantalla, pero no me sale nada, al ejecutar esta parte se queda como estaba aunque tampoco devuelve un error
.
public class NuevoDis {
public int[] execute(int[][] graph, int node) {
final boolean settledNodes[] = new boolean[graph.length];
final int shortestDistances[] = new int[graph.length];
settledNodes[0] = true;
for (int i = 1; i < shortestDistances.length; i++) {
if (graph[node] != 0) {
shortestDistances = graph[node];
} else {
shortestDistances = Integer.MAX_VALUE;
}
}
for (int i = 0; i < (shortestDistances.length - 1); i++) {
final int next = minVertex(shortestDistances, settledNodes);
settledNodes[next] = true;
for (int j = 0; j < graph[0].length; j++) {
final int d = shortestDistances[next] + graph[next][j];
if (shortestDistances[j] > d) {
shortestDistances[j] = shortestDistances[next] + graph[next][j];
}
}
}
return shortestDistances;
}
private static int minVertex(int[] shortestDistances, boolean[] settledNodes) {
int x = Integer.MAX_VALUE;
int y = -1;
for (int i = 0; i < shortestDistances.length; i++) {
if (!settledNodes && shortestDistances < x) {
y = i;
x = shortestDistances;
}
}
return y;
}
}
ahora lo que necesito es que en el grafo me muestre el punto que esta mas cerca al ejecutar dicho algoritmo. (que nose si tengo bien el codigo)
porfavor ayuda, es urgente!!!

Añade tu respuesta

Haz clic para o