C/Visual C - Me explican este codigo?

 
Vista:

Me explican este codigo?

Publicado por Lalo (1 intervención) el 06/06/2006 03:55:03
void DIJKSTRA(){
int A[N][N], i, u, v, s, c, N, MAXD;
int PQ[N], dist[N], Adj[N];
for(v = 0; v < N; v++){
if(v = s)
dist[v] = 0;
else
dist[v] = MAXD;
PQ[v] = dist[v];
}
i = N-1;
while(i > 0){
for(j = 0; j < i; j++)
if(PQ[j] < PQ[i])
swap(PQ[j], PQ[i]);
u = PQ[i];
for(v = 0; v < N, A[u][v] != 0; j++){
c = dist[u] + A[u][v];
if(c < dist[v])
dist[v] = c;
}
i = i-1;
}
}

esa "s" que carajo es? y bueno maxd es la maxima distancio no?
o estoy mal? quizas entendi todo mal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Me explican este codigo?

Publicado por fernando.gomez (1603 intervenciones) el 06/06/2006 03:58:35
Es imposible saber que es "s" ya que la variable jamás se inicializa. Además, en la quinta línea está:
if(v = s)

lo cuál es prácticamente una tautología. v = s siempre será verdadero -a menos que se te acabe la memoria. Probablemente el código está mal, o a lo menos, incompleto.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar