in src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java [690:735]
public String toString()
{
if ( minimumNode == null )
{
return "FibonacciHeap=[]";
}
// create a new stack and put root on it
Stack<FibonacciHeapNode<E>> stack = new Stack<FibonacciHeapNode<E>>();
stack.push( minimumNode );
StringBuilder buf = new StringBuilder( "FibonacciHeap=[" );
// do a simple breadth-first traversal on the tree
while ( !stack.empty() )
{
FibonacciHeapNode<E> curr = stack.pop();
buf.append( curr );
buf.append( ", " );
if ( curr.getChild() != null )
{
stack.push( curr.getChild() );
}
FibonacciHeapNode<E> start = curr;
curr = curr.getRight();
while ( curr != start )
{
buf.append( curr );
buf.append( ", " );
if ( curr.getChild() != null )
{
stack.push( curr.getChild() );
}
curr = curr.getRight();
}
}
buf.append( ']' );
return buf.toString();
}