diff --git a/CREATED MERGE SORT IN N/MERGE SORT IN N/N/MERGESORTIN ONE FOURTH. IN C++ b/CREATED MERGE SORT IN N/MERGE SORT IN N/N/MERGESORTIN ONE FOURTH. IN C++ new file mode 100644 index 0000000..e717086 --- /dev/null +++ b/CREATED MERGE SORT IN N/MERGE SORT IN N/N/MERGESORTIN ONE FOURTH. IN C++ @@ -0,0 +1,106 @@ +#include +using namespace std; +void merge(int arr[], int start,int mid1, int mid, int mid2,int end) +{ + + int n1 =mid1-start+1; + int n2 = mid-mid1; + int n3 = mid2-mid; + int n4 =end-mid2 ; + + int akrr[n1+1], brr[n2+1], crr[n3+1], drr[n4+1]; + akrr[n1]=10000000; + brr[n2]=100000000; + crr[n3]=100000000; + drr[n4]=1000000000; + + for (int q = 0; q < n1; q++) + { + akrr[q] = arr[start + q]; + + } + for (int q = 0; q < n2; q++) + { + brr[q] = arr[mid1 + q+1]; + + } + for (int q = 0; q < n3; q++) + { + crr[q] = arr[mid + q+1]; + + } + for (int q = 0; q < n4; q++) + { + drr[q] = arr[mid2 + q+1]; + + } + + int w = 0, h = 0; + int z = 0, y = 0, f = start; + while (w <= n1 && h <=n2 && z <=n3 && y <= n4 && f<=end) + { + if (akrr[w] < brr[h] && akrr[w] < crr[z] && akrr[w] < drr[y]) + { + arr[f] = akrr[w]; + + w++; + f++; + + } + else if ( brr[h] < crr[z] && brr[h]