Skip to content

Commit 4011e60

Browse files
committed
graph_tools : printing tree
1 parent 92488e0 commit 4011e60

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

module/move/graphs_tools/src/tree_print.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,24 +70,30 @@ mod private
7070
return format!( "{}{}", left, right );
7171
};
7272

73-
let push = | stack : &mut collection_tools::Vec< ( Self::NodeId, isize ) >, node_id, level |
73+
let push = | stack : &mut collection_tools::Vec< ( Self::NodeId, isize, bool ) >, node_id, level, preorder |
7474
{
75-
// println!( "push {:?} level:{}", node_id, level );
76-
stack.push( ( node_id, level ) );
75+
// println!( "push {:?} level:{} preorder:{}", node_id, level, preorder );
76+
stack.push( ( node_id, level, preorder ) );
7777
};
7878

79-
push( &mut stack, node_id, 0 );
79+
push( &mut stack, node_id, 0, true );
8080

81-
while let Some( ( node_id, level ) ) = stack.pop()
81+
while let Some( ( node_id, level, _preorder ) ) = stack.pop()
8282
{
83+
// if !preorder
84+
// {
85+
// write.write_fmt( format_args!( "{}{:?}\n", prefix( level ), node_id ) )?;
86+
// continue;
87+
// }
8388

8489
if visited.insert( node_id )
8590
{
91+
// push( &mut stack, node_id, level, false );
8692
write.write_fmt( format_args!( "{}{:?}\n", prefix( level ), node_id ) )?;
8793

8894
for child_id in self.node_out_nodes( node_id ).rev()
8995
{
90-
push( &mut stack, child_id, level + 1 );
96+
push( &mut stack, child_id, level + 1, true );
9197
}
9298
}
9399
}

0 commit comments

Comments
 (0)