Author: simonetripodi
Date: Tue Jul 12 09:17:55 2011
New Revision: 1145503
URL: http://svn.apache.org/viewvc?rev=1145503&view=rev
Log:
avoid NPEs if minimumNode doesn't have a child
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
Modified:
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java?rev=1145503&r1=1145502&r2=1145503&view=diff
==============================================================================
---
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
(original)
+++
commons/sandbox/graph/trunk/src/main/java/org/apache/commons/graph/collections/FibonacciHeap.java
Tue Jul 12 09:17:55 2011
@@ -268,7 +268,8 @@ public final class FibonacciHeap<E>
FibonacciHeapNode<E> z = minimumNode;
// for each child x of z
- for ( FibonacciHeapNode<E> x = z.getChild().getRight(); x !=
z.getChild(); x = x.getRight() )
+ FibonacciHeapNode<E> x = z.getChild();
+ for ( int degree = z.getDegree(); degree > 0; degree-- )
{
// add x to the root list of H
z.getLeft().setRight( x );
@@ -278,6 +279,8 @@ public final class FibonacciHeap<E>
// p[x] <- NIL
x.setParent( null );
+
+ x = x.getRight();
}
// remove z from the root list of H