Nodes as an array nodi of structs Adjacencies and distances in ArrayList[] archi = new ArrayList[MAXNODI]; ArrayList[] d = new ArrayList[MAXNODI]; void Dijkstra(int s) { int i,j,u=-1,Q,minQ; bool[] S = new bool[n]; for(i=0;i nodi[u].d + (int)d[u][i]) { nodi[j].d = nodi[u].d + (int)d[u][i]; nodi[j].p = u; } } } }