Divide-and-conquer algorithm that divides the array in half, sorts both halves, and merges them back together.