コード例 #1
0
 // joins siblings lists of a and b
 private void concatenateSiblings(FibonacciHeapNode a, FibonacciHeapNode b) {
   a.nextSibling.prevSibling = b;
   b.nextSibling.prevSibling = a;
   FibonacciHeapNode origAnext = a.nextSibling;
   a.nextSibling = b.nextSibling;
   b.nextSibling = origAnext;
 }
コード例 #2
0
 // makes x's nextSibling and prevSibling point to itself
 private void removeFromSiblings(FibonacciHeapNode x) {
   if (x.nextSibling == x) return;
   x.nextSibling.prevSibling = x.prevSibling;
   x.prevSibling.nextSibling = x.nextSibling;
   x.nextSibling = x;
   x.prevSibling = x;
 }