Merge sort algorithm

1. The length of the list is 0 or 1, and then
it is considered as sorted.

2. Otherwise, divide the unsorted list into 2 lists each about half the size.

3. Sort each sub list recursively. Implement the step 2 until the two sub lists are sorted.

4. As a final step, combine (merge) both the lists back into one sorted list.

2. Otherwise, divide the unsorted list into 2 lists each about half the size.

3. Sort each sub list recursively. Implement the step 2 until the two sub lists are sorted.

4. As a final step, combine (merge) both the lists back into one sorted list.