pointer i, j, k, t; k = null; t = null; while (void) do if ( void ) then t = i; i = i.next; else t = j; j = j.next; fi t.next = k; k = t; od if ( i == null ) then i = j; fi while (! (i == null) ) do t = i; i = i.next; t.next = k; k = t; od