Merges two subarrays of [ ] arr . First subarray is arr [ l . . m ] Second subarray is arr [ m + 1. . r ]
static void merge ( int [ ] arr , int l , int m , int r ) { int i , j , k ; int n1 = m - l + 1 ; int n2 = r - m ;