Untitled
unknown
plain_text
3 years ago
837 B
9
Indexable
void merge(int arr[], int l, int m, int r) {
// Your code here
//[l,m-1] [m,r]
int temp[r-l+1];
int i=l;
int j=m;
for (int itr=0; itr<(r-l+1);itr++){
if (i<m && j<=r){
if (arr[i]<arr[j])
temp[itr]=arr[i++];
else temp[itr]=arr[j++];
}
if (i<m) temp[itr]=arr[i++];
if (j<=r) temp[itr]=arr[j++];
}
for (int itr=0;itr<(r-l+1);itr++){
arr[itr+l]=temp[itr];
}
}
public:
void mergeSort(int arr[], int l, int r)
{
//code here
if (l>=r) return;
int mid=(l+r)/2;
mergeSort(arr, l, mid-1);
mergeSort(arr, mid, r);
merge(arr,l,mid, r);
}
};Editor is loading...