From 8e93f6cd3fd29d5a8a2386a1af4f7a8e59ce2e73 Mon Sep 17 00:00:00 2001 From: Bruno Freitas Tissei <bft15@inf.ufpr.br> Date: Sun, 12 May 2019 17:51:56 -0300 Subject: [PATCH] Fix topological sort Signed-off-by: Bruno Freitas Tissei <bft15@inf.ufpr.br> --- algorithms/graph/topological_sort.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/algorithms/graph/topological_sort.cpp b/algorithms/graph/topological_sort.cpp index e19c8de..0583af4 100644 --- a/algorithms/graph/topological_sort.cpp +++ b/algorithms/graph/topological_sort.cpp @@ -8,29 +8,29 @@ vector<int> graph[MAX]; struct TopologicalSort { int N; stack<int> S; - vector<int> cont; + vector<int> vis; - Topological(int N) : - N(N), cont(N) + TopologicalSort(int N) : + N(N), vis(N) {} void init() { - fill(all(cont), 0); + fill(all(vis), 0); } /// Fills stack and check for cycles. /// @param x any vertex bool dfs(int x) { - cont[x] = 1; + vis[x] = 1; for (auto i : graph[x]) { - if (cont[i] == 1) + if (vis[i] == 1) return true; - if (!cont[i] && dfs(i)) + if (!vis[i] && dfs(i)) return true; } - cont[x] = 2; + vis[x] = 2; S.push(x); return false; @@ -43,7 +43,7 @@ struct TopologicalSort { bool cycle = false; for (int i = 0; i < N; ++i) { - if (!cont[i]) + if (!vis[i]) cycle |= dfs(i); } -- GitLab