Untitled
unknown
plain_text
2 years ago
837 B
4
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...