ts work goes into the complex division step with a trivial join to follow. The classic version of the algorithm divides the input list into sublists that are less than, equal to, or greater than a chosen pivot. After recursively sorting the sublists, they are joined in sequence.</p>

<p>Linked lists are also a natural fit for QuickSort. Distributing the elements into sublists and concatenating them together can be done by re-wiring pointers, with none of the contortions used to swap/shuffle array elements.<