previous | start | next

Answers

  1. When the preceding while loop ends, the loop condition must be false, that is,
    iFirst >= first.length or iSecond >= second.length (De Morgan's Law).
    Then first.length - iFirst <= 0 or iSecond.length - iSecond <= 0.
  2. First sort 8 7 6 5.
    Recursively, first sort 8 7.
    Recursively, first sort 8. It's sorted.
    Sort 7. It's sorted.
    Merge them: 7 8.
    Do the same with 6 5 to get 5 6.
    Merge them to 5 6 7 8.
    Do the same with 4 3 2 1: Sort 4 3 by sorting 4 and 3 and merging them to 3 4.
    Sort 2 1 by sorting 2 and 1 and merging them to 1 2.
    Merge 3 4 and 1 2 to 1 2 3 4.
    Finally, merge 5 6 7 8 and 1 2 3 4 to 1 2 3 4 5 6 7 8.


previous | start | next