diff --git a/MergeSort.cpp b/MergeSort.cpp new file mode 100644 index 0000000..5d0e13e --- /dev/null +++ b/MergeSort.cpp @@ -0,0 +1,53 @@ +void MergeSort(int arr[],int start,int end){ + if(start>=end){ + return; + } + + int mid=start+(end-start)/2; + + MergeSort(arr,start,mid); + MergeSort(arr,mid+1,end); + + merge(arr,start,end); +} + +void merge(*arr,int s,int e){ + int mid=s+(e-s)/2; + + int length1=mid-s+1; + int length2=e-mid; + + int *firstpart=new int[length1]; + int *secondpart=new int[length2]; + + int k=s; + for(int i=0;i