Divide and Conquer
module sort(list)
{
   if (size of list > 1)
   {
      split(list, firstPart, secondPart)
      sort(firstPart)
      sort(secondPart)
      combine(firstPart, secondPart)
   }
}