/[classpath]/classpath/java/util/Collections.java
ViewVC logotype

Diff of /classpath/java/util/Collections.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.29 by mark, Sun Sep 19 22:02:35 2004 UTC revision 1.30 by mark, Tue Sep 21 18:47:59 2004 UTC
# Line 574  public class Collections Line 574  public class Collections
574        {        {
575          ListIterator itr = l.listIterator();          ListIterator itr = l.listIterator();
576          int i = 0;          int i = 0;
577            Object o = itr.next(); // Assumes list is not empty (see isSequential)
578            boolean forward = true;
579          while (low <= hi)          while (low <= hi)
580            {            {
581              pos = (low + hi) >> 1;              pos = (low + hi) >> 1;
582              if (i < pos)              if (i < pos)
583                for ( ; i != pos; i++, itr.next());                {
584                    if (!forward)
585                      itr.next(); // Changing direction first.
586                    for ( ; i != pos; i++, o = itr.next());
587                    forward = true;
588                  }
589              else              else
590                for ( ; i != pos; i--, itr.previous());                {
591              final int d = compare(key, itr.next(), c);                  if (forward)
592                      itr.previous(); // Changing direction first.
593                    for ( ; i != pos; i--, o = itr.previous());
594                    forward = false;
595                  }
596                final int d = compare(key, o, c);
597              if (d == 0)              if (d == 0)
598                return pos;                return pos;
599              else if (d < 0)              else if (d < 0)

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26