void MergeSort( int *pMerge, int *p1, int p1len, int *p2, int p2len )
{
assert( nullptr != pMerge && nullptr != p1 && nullptr != p2 );
int i = 0;
int j = 0;
int k = 0;
while( i < p1len && j < p2len )
{
if( p1[ i ] < p2[ j ] )
{
pMerge[ k ] = p1[ i ];
++k;
++i;
}
else
{
pMerge[ k ] = p2[ j ];
++k;
++j;
}
}
while( i < p1len )
{
pMerge[ k ] = p1[ i ];
++k;
++i;
}
while( j < p2len )
{
pMerge[ k ] = p2[ j ];
++k;
++j;
}
}