[Lemon-commits] Balazs Dezso: Using Arc instead of ArcIt in Dfs ...

Lemon HG hg at lemon.cs.elte.hu
Thu Nov 1 20:05:44 CET 2018


details:   http://lemon.cs.elte.hu/hg/lemon/rev/15282595e6f4
changeset: 1418:15282595e6f4
user:      Balazs Dezso <deba [at] inf.elte.hu>
date:      Sun Aug 17 15:02:03 2008 +0200
description:
	Using Arc instead of ArcIt in Dfs (#32)

diffstat:

 lemon/dfs.h |  13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diffs (54 lines):

diff --git a/lemon/dfs.h b/lemon/dfs.h
--- a/lemon/dfs.h
+++ b/lemon/dfs.h
@@ -181,7 +181,7 @@
     //Indicates if _processed is locally allocated (true) or not.
     bool local_processed;
 
-    std::vector<typename Digraph::OutArcIt> _stack;
+    std::vector<typename Digraph::Arc> _stack;
     int _stack_head;
 
     //Creates the maps if necessary.
@@ -457,7 +457,8 @@
         {
           _reached->set(s,true);
           _pred->set(s,INVALID);
-          OutArcIt e(*G,s);
+          Arc e;
+          G->firstOut(e,s);
           if(e!=INVALID) {
             _stack[++_stack_head]=e;
             _dist->set(s,_stack_head);
@@ -484,19 +485,19 @@
         _pred->set(m,e);
         _reached->set(m,true);
         ++_stack_head;
-        _stack[_stack_head] = OutArcIt(*G, m);
+        G->firstOut(_stack[_stack_head],m);
         _dist->set(m,_stack_head);
       }
       else {
         m=G->source(e);
-        ++_stack[_stack_head];
+        G->nextOut(_stack[_stack_head]);
       }
       while(_stack_head>=0 && _stack[_stack_head]==INVALID) {
         _processed->set(m,true);
         --_stack_head;
         if(_stack_head>=0) {
           m=G->source(_stack[_stack_head]);
-          ++_stack[_stack_head];
+          G->nextOut(_stack[_stack_head]);
         }
       }
       return e;
@@ -510,7 +511,7 @@
     ///is empty.
     OutArcIt nextArc() const
     {
-      return _stack_head>=0?_stack[_stack_head]:INVALID;
+      return OutArcIt(*G,_stack_head>=0?_stack[_stack_head]:INVALID);
     }
 
     ///Returns \c false if there are nodes to be processed.


More information about the Lemon-commits mailing list