 When the inputs are linked lists, this algorithm can be implemented to use only a constant amount of working space; the pointers in the lists' nodes can be reused for bookkeeping and for constructing the final merged list.In the merge sort algorithm, this subroutine is typically used to merge two sub-arrays , of a single array .This can be done by copying the sub-arrays into a temporary array, then applying the merge algorithm above.