[Lemon-commits] deba: r3518 - lemon/trunk/lemon

Lemon SVN svn at lemon.cs.elte.hu
Sun Dec 21 21:13:30 CET 2008


Author: deba
Date: Sun Dec 21 21:13:28 2008
New Revision: 3518

Modified:
   lemon/trunk/lemon/unionfind.h

Log:
Backport hg commit [81d40f1c850c] (ticket #197)



Modified: lemon/trunk/lemon/unionfind.h
==============================================================================
--- lemon/trunk/lemon/unionfind.h	(original)
+++ lemon/trunk/lemon/unionfind.h	Sun Dec 21 21:13:28 2008
@@ -1177,7 +1177,8 @@
 	    int pd = nodes[jd].parent;
 	    if (nodes[nodes[jd].next].size < cmax) {
 	      pushLeft(nodes[jd].next, nodes[jd].left);
-              if (nodes[jd].item == nodes[pd].item) {
+              if (less(jd, nodes[jd].next) ||
+		  nodes[jd].item == nodes[pd].item) {
                 nodes[nodes[jd].next].prio = nodes[jd].prio;
                 nodes[nodes[jd].next].item = nodes[jd].item;
 	      }
@@ -1220,7 +1221,8 @@
 	    int pd = nodes[jd].parent;
 	    if (nodes[nodes[jd].prev].size < cmax) {
 	      pushRight(nodes[jd].prev, nodes[jd].right);
-              if (nodes[jd].item == nodes[pd].item) {
+              if (less(jd, nodes[jd].prev) ||
+		  nodes[jd].item == nodes[pd].item) {
                 nodes[nodes[jd].prev].prio = nodes[jd].prio;
                 nodes[nodes[jd].prev].item = nodes[jd].item;
 	      }



More information about the Lemon-commits mailing list