From 31c0a3d3205af0553248adab9bf7eafe7d69b06c Mon Sep 17 00:00:00 2001 From: harryhritik12 <96782535+harryhritik12@users.noreply.github.com> Date: Thu, 13 Oct 2022 19:42:59 +0530 Subject: [PATCH] Create MERGESORTIN ONE FOURTH. IN C++ --- .../N/MERGESORTIN ONE FOURTH. IN C++ | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 CREATED MERGE SORT IN N/MERGE SORT IN N/N/MERGESORTIN ONE FOURTH. IN C++ 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]