From 44bf73fe1ff8284feab96efc9aa9fc7abbef9a7a Mon Sep 17 00:00:00 2001 From: Ritesh Kumar Date: Sun, 3 Oct 2021 12:41:11 +0530 Subject: [PATCH 1/2] Update Contributors.html --- Contributors.html | 1 + 1 file changed, 1 insertion(+) diff --git a/Contributors.html b/Contributors.html index e55b288145..8bf5f2f74a 100644 --- a/Contributors.html +++ b/Contributors.html @@ -583,6 +583,7 @@ Ayush Awasthi Samarth Sawhney Thea M. +Ritesh Kumar From 1fe0f9c53a14010871983f1d658235ba353cbbc3 Mon Sep 17 00:00:00 2001 From: Ritesh Kumar Date: Sun, 3 Oct 2021 12:44:11 +0530 Subject: [PATCH 2/2] Create Merge_sort.cpp --- .../C++_Programs/Merge_sort.cpp | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 Program's_Contributed_By_Contributors/C++_Programs/Merge_sort.cpp diff --git a/Program's_Contributed_By_Contributors/C++_Programs/Merge_sort.cpp b/Program's_Contributed_By_Contributors/C++_Programs/Merge_sort.cpp new file mode 100644 index 0000000000..273e7e6b8b --- /dev/null +++ b/Program's_Contributed_By_Contributors/C++_Programs/Merge_sort.cpp @@ -0,0 +1,80 @@ +#include + +#define fastio \ + ios_base::sync_with_stdio(false); \ + cin.tie(NULL) + +#define endl "\n" + +using namespace std; + +void printdata(int *ar, int n) +{ + for (int i = 0; i < n; i++) + { + cout << ar[i] << " "; + } + cout << endl; +} + +void merge(int *array, int l, int m, int r) +{ + int i, j, k, nl, nr; + nl = m - l + 1; + nr = r - m; + int larr[nl], rarr[nr]; + for (i = 0; i < nl; i++) + larr[i] = array[l + i]; + for (j = 0; j < nr; j++) + rarr[j] = array[m + 1 + j]; + i = 0; + j = 0; + k = l; + while (i < nl && j < nr) + { + if (larr[i] <= rarr[j]) + { + array[k] = larr[i]; + i++; + } + else + { + array[k] = rarr[j]; + j++; + } + k++; + } + while (i < nl) + { + array[k] = larr[i]; + i++; + k++; + } + while (j < nr) + { + array[k] = rarr[j]; + j++; + k++; + } +} + +void mergeSort(int *array, int l, int r) +{ + int m; + if (l < r) + { + int m = l + (r - l) / 2; + mergeSort(array, l, m); + mergeSort(array, m + 1, r); + merge(array, l, m, r); + } +} + +int main() +{ + fastio; + int arr[] = {5, 4, 2, 3, 6, 0, 3}; + mergeSort(arr, 0, 7); + printdata(arr, 7); + return 0; +}