[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