ss="language-c++ highlighter-rouge"><span class="n">splitRun</span></code> helper function detaches a sorted run from the front of a given list.
    <ul>
      <li>A "run" is a sorted contiguous sublist. To trace out the run, traverse the list starting at the front and continue through each subsequent node that follows in sorted order.  The run stops at the first node that is out of order or at the end of the list, whichever comes first. The leftover portion is called the remainder list.</li>
      <li>The 