The data list is split into two lists
These sublists continue to be (recursively) split
Until each sublist is one item
The first element in two different sublists is compared
The smaller item is then selected
And written to a new list
Until both sublists fully merged
Repeated until all sorted sublists are recombined