From aaa0d415f94affd8609b1f700428d7f7e26a1eac Mon Sep 17 00:00:00 2001 From: ccremers Date: Thu, 28 Oct 2004 15:37:13 +0000 Subject: [PATCH] - Graph closure fixed. --- src/warshall.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/warshall.c b/src/warshall.c index a375409..19c28b4 100644 --- a/src/warshall.c +++ b/src/warshall.c @@ -58,34 +58,34 @@ graph_display (int *graph, int nodes) int warshall (int *graph, int nodes) { - int i; + int k; - int index (const int i, const int j) + int index (const int x, const int y) { - return (i * nodes + j); + return (x * nodes + y); } - i = 0; - while (i < nodes) + k = 0; + while (k < nodes) { - int j; + int i; - j = 0; - while (j < nodes) + i = 0; + while (i < nodes) { - if (graph[index (j, i)] == 1) + if (graph[index (i, k)] == 1) { - int k; + int j; - k = 0; - while (k < nodes) + j = 0; + while (j < nodes) { if (graph[index (k, j)] == 1) { - if (k == i) + if (i == j) { // Oh no! A cycle. - graph[index (k, i)] = 2; + graph[index (i, j)] = 2; #ifdef DEBUG if (DEBUGL (5)) { @@ -94,14 +94,14 @@ warshall (int *graph, int nodes) #endif return 0; } - graph[index (k, i)] = 1; + graph[index (i, j)] = 1; } - k++; + j++; } } - j++; + i++; } - i++; + k++; } return 1; }