public class MergeSort {
/*
This function takes an array to be sorted,
divide the array in two sub arrays i.e leftSubArray and RightSubarray if size of array is greater than 1
then recursivelly call sort for subarrays
and then call the merge function
*/
public void sort(int[] arr)
{
if (arr.length>1)
{
int mid=(arr.length)/2;
int sizel=mid; // size for left sub array
int sizer=arr.length-mid; // size for right sub array
int[] larr=new int[sizel]; // left sub array
int[] rarr=new int[sizer]; // right sub array
int t=0;
for (int i=0;i