mirror of
https://github.com/c0de-archive/hacktoberfest-2018.git
synced 2024-12-22 05:12:40 +00:00
file added
This commit is contained in:
parent
d47c9695b2
commit
ac9ab817cc
60
code/mergeSort.cpp
Normal file
60
code/mergeSort.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std ;
|
||||
|
||||
void merge(int arr[], int l, int m , int r){
|
||||
int n1 = m-l+1;
|
||||
int n2 = r-m ;
|
||||
int L[n1];
|
||||
int R[n2];
|
||||
for (int i = 0; i < n1; i++)
|
||||
L[i] = arr[l + i];
|
||||
for (int j = 0; j < n2; j++)
|
||||
R[j] = arr[m + 1+ j];
|
||||
int i =0, j= 0 , k=l ;
|
||||
while(i<n1 && j<n2){
|
||||
if(L[i]<R[j]){
|
||||
arr[k]= L[i];
|
||||
i++;
|
||||
}
|
||||
else{
|
||||
arr[k]= R[j];
|
||||
j++;
|
||||
}
|
||||
k++;
|
||||
}
|
||||
while(i<n1){
|
||||
arr[k] = L[i];
|
||||
i++;k++;
|
||||
}
|
||||
while(j<n2){
|
||||
arr[k]= R[j];
|
||||
j++;k++;
|
||||
}
|
||||
|
||||
}
|
||||
void mergeSort(int arr[], int l, int r){
|
||||
if(l<r){
|
||||
int m = l+ (r-l)/2 ;
|
||||
mergeSort(arr,l, m);
|
||||
mergeSort(arr,m+1,r);
|
||||
|
||||
merge(arr, l,m,r);
|
||||
}
|
||||
}
|
||||
void printArray(int A[], int size)
|
||||
{
|
||||
int i;
|
||||
for (i=0; i < size; i++)
|
||||
printf("%d ", A[i]);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
int main() {
|
||||
int arr[]= {7,5,11,13,6,12};
|
||||
printArray(arr,6);
|
||||
mergeSort(arr,0,5);
|
||||
printArray(arr, 6);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user