 void TopDownMergeSort(A[], B[], n)

// Sort the given run of array A[] using array B[] as a source.// iBegin is inclusive; iEnd is exclusive (A[iEnd] is not in the set).void TopDownSplitMerge(B[], iBegin, iEnd, A[])

// Left source half is A[ iBegin