1616
1717class DFS {
1818private:
19- typedef enum { NOT_VISITED = 1 , VISITING = 2 , VISITED = 3 } NODE_MARKS;
20- map<const basicGraph::bNode*, NODE_MARKS> nodeMarks_;
19+ map<const basicGraph::bNode*, basicGraph::NODE_MARKS> nodeMarks_;
2120 basicGraph::bGraph* graph_;
2221
2322 string tabs (unsigned int level) {
@@ -30,47 +29,47 @@ class DFS {
3029 set<const basicGraph::bNode*, basicGraph::nodeCompare>::iterator niter = graph_->nodeBegin ();
3130 for (; niter != graph_->nodeEnd (); niter++) {
3231 const basicGraph::bNode* node = *niter;
33- DFS::nodeMarks_[node] = NOT_VISITED;
32+ DFS::nodeMarks_[node] = basicGraph:: NOT_VISITED;
3433 }
3534 return ;
3635 }
3736
3837 void search_int (const basicGraph::bNode* src, unsigned int level = 0 )
3938 {
4039 cout << tabs (level++) << src->name () << " visiting" << endl;
41- DFS::nodeMarks_[src] = VISITING;
40+ DFS::nodeMarks_[src] = basicGraph:: VISITING;
4241
4342 set<const basicGraph::bEdge*, basicGraph::edgeCompare>::iterator niter = src->edgeBegin ();
4443 for (; niter != src->edgeEnd (); niter++) {
4544 const basicGraph::bNode* nextNode = (*niter)->otherNode (src);
46- if (DFS::nodeMarks_[nextNode] == DFS ::NOT_VISITED)
45+ if (DFS::nodeMarks_[nextNode] == basicGraph ::NOT_VISITED)
4746 search_int (nextNode);
4847 }
4948
50- DFS::nodeMarks_[src] = VISITED;
49+ DFS::nodeMarks_[src] = basicGraph:: VISITED;
5150 cout << tabs (level--) << src->name () << " visited." << endl;
5251 }
5352
5453 void ts_visit (const basicGraph::bNode* src, vector<vector<const basicGraph::bNode*>>& container, unsigned int level=0 )
5554 {
56- if (DFS::nodeMarks_[src] == DFS ::VISITED)
55+ if (DFS::nodeMarks_[src] == basicGraph ::VISITED)
5756 return ;
5857
59- if (DFS::nodeMarks_[src] == DFS ::VISITING)
58+ if (DFS::nodeMarks_[src] == basicGraph ::VISITING)
6059 {
6160 cerr << " Error: cycle deteceted at node " << src->name () << " . Topological sorting abandoned.\n " ;
6261 return ;
6362 }
6463
65- DFS::nodeMarks_[src] = DFS ::VISITING;
64+ DFS::nodeMarks_[src] = basicGraph ::VISITING;
6665
6766 set<const basicGraph::bEdge*, basicGraph::edgeCompare>::iterator niter = src->edgeBegin ();
6867 for (; niter != src->edgeEnd (); niter++) {
6968 const basicGraph::bNode* nextNode = (*niter)->otherNode (src);
7069 ts_visit (nextNode, container, level+1 );
7170 }
7271
73- DFS::nodeMarks_[src] = DFS ::VISITED;
72+ DFS::nodeMarks_[src] = basicGraph ::VISITED;
7473 container[level].push_back (src);
7574
7675 return ;
@@ -115,7 +114,7 @@ class DFS {
115114 for (; niter != graph_->nodeEnd (); niter++)
116115 {
117116 const basicGraph::bNode* src = *niter;
118- if (DFS::nodeMarks_[src] != VISITED)
117+ if (DFS::nodeMarks_[src] != basicGraph:: VISITED)
119118 ts_visit (src, levelized_container);
120119 }
121120
0 commit comments