summaryrefslogtreecommitdiff
path: root/cpp/DFS.cpp
diff options
context:
space:
mode:
authorSanto Cariotti <sancn@live.com>2017-04-26 16:37:39 +0200
committerSanto Cariotti <sancn@live.com>2017-04-26 16:37:39 +0200
commit483d63fa7249ad8d6020680c48c3cf6df35010b3 (patch)
tree2f8649e3ae6b42ace5011246285c9c450f004222 /cpp/DFS.cpp
parent6c957dc4e01aee6ce9cae3c8342d04b0fd9ca9c4 (diff)
Moved all C++ files into CPP folder
Diffstat (limited to 'cpp/DFS.cpp')
-rw-r--r--cpp/DFS.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/cpp/DFS.cpp b/cpp/DFS.cpp
new file mode 100644
index 0000000..fda5a33
--- /dev/null
+++ b/cpp/DFS.cpp
@@ -0,0 +1,39 @@
+#include <iostream>
+#define BIANCO 0 //Non Visitato
+#define NERO 2 //Visitato
+#define GRIGIO 1 //Non Finito
+#define INF 999999
+#include <vector>
+#include <fstream>
+#include <queue>
+#define MAXN 9999
+#define INDEF -1
+#include <stack>
+using namespace std;
+int V=9;
+int matriceAdj[MAXN][MAXN];
+ int colore[MAXN];
+ //DFS Tramite matrice di adiacenza
+ void dfsVisit (int u)
+ {
+ colore[u]= GRIGIO;
+ for (int i=0;i<V;i++)
+ {
+ if (matriceAdj[u][i] == 1 && colore[i] == BIANCO )
+ dfsVisit(i);
+ }
+ colore[u]= NERO;
+ }
+ // Le chiamate ricorsive sono quanti sono i nodi GRIGI
+ int dfs()
+ {
+ for (int i=0;i<V;i++) colore[i]=BIANCO;
+ for (int i=0;i<V;i++) if (colore[i]==BIANCO) dfsVisit(i);
+ }
+
+int main(int argc, char** argv) {
+
+ //Vanno settati i dati riguardanti gli archi esistenti
+
+ return 0;
+}