Java Iterative Destructive Merge


public static Cons dmerj (Cons x, Cons y) {
  if ( x == null ) return (Cons) y;
   else if ( y == null ) return (Cons) x;
   else { Cons front = (Cons) x;
          if ( ((Comparable) first(x))
                          .compareTo(first(y)) <  0)
             x = rest(x);
            else { front = (Cons) y;
                   y = rest(y); };
          Cons end = front;
          while ( x != null )
            { if ( y == null ||
                   ((Comparable) first(x))
                          .compareTo(first(y)) <  0)
                 { setrest(end, x);
                   x = rest(x); }
               else { setrest(end, y);
                      y = rest(y); };
              end = (Cons) rest(end); }
          setrest(end, y);
          return front; } }

What is O()? Stack depth? Conses?

Contents    Page-10    Prev    Next    Page+10    Index