Java Iterative Destructive Merge
public static Cons dmerj (Cons x, Cons y) {
if ( x == null ) return y;
else if ( y == null ) return x;
else { Cons front = x;
if ( ((Comparable) first(x))
.compareTo(first(y)) < 0)
x = rest(x);
else { front = 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 = rest(end); }
setrest(end, y);
return front; } }
What is O()? Stack depth? Conses?