import java.util.*; public class Dijkstra { private int size; private ArrayList gevondenPad = new ArrayList(); public Dijkstra(int x) { size = x; } public void zoek(int[][] matrix, int beginPunt, int eindPunt) { int graaf[][] = matrix; boolean nietKlaar = true; boolean padAanwezig = true; int nodeNietInS; int tempArray1[] = new int[size]; int tempArray2[][] = new int[2][size]; for (int i=0; i -1)) { tempArray2[0][i] = graaf[beginPunt][i]; tempArray2[1][i] = beginPunt; } } while (nietKlaar && padAanwezig) { int minT = Integer.MAX_VALUE; int v = -1; for (int i=0; i -1)) { if ((tempArray2[0][v] + graaf[v][i]) < tempArray2[0][i]) { tempArray2[0][i] = tempArray2[0][v] + graaf[v][i]; tempArray2[1][i] = v; } } } if (tempArray1[eindPunt] == 1) nietKlaar = false; else { nietKlaar = true; padAanwezig = false; for (int i=0; i