Skip to content

Commit 7ecf150

Browse files
authored
Merge pull request #78 from neha030/devp5
merge sort added
2 parents bfe5ec3 + e36974c commit 7ecf150

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

merge.cpp

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#include<bits/stdc++.h>
2+
using namespace std;
3+
void merge(int a[],int l,int mid,int r)
4+
{
5+
int n1=mid-l+1;
6+
int n2=r-mid;
7+
int b[n1];
8+
int c[n2];
9+
for(int i=0;i<n1;i++)
10+
{
11+
b[i]=a[l+i];
12+
}
13+
for(int i=0;i<n2;i++)
14+
{
15+
c[i]=a[mid+1+i];
16+
}
17+
int i=0;
18+
int j=0;
19+
int k=l;
20+
while(i<n1 &&j<n2)
21+
{
22+
if(b[i]<c[j])
23+
{
24+
a[k]=b[i];
25+
k++;
26+
i++;
27+
}
28+
else
29+
{
30+
a[k]=c[j];
31+
k++;
32+
j++;
33+
34+
35+
36+
}
37+
38+
39+
40+
}
41+
while(i<n1)
42+
{
43+
a[k]=b[i];
44+
k++;
45+
i++;
46+
}
47+
while(j<n2)
48+
{
49+
a[k]=c[j];
50+
k++;
51+
j++;
52+
}
53+
54+
}
55+
void mergesort(int a[],int l,int r)
56+
{
57+
if(l<r)
58+
{
59+
int mid =(l+r)/2;
60+
mergesort(a,l,mid);
61+
mergesort(a,mid+1,r);
62+
63+
merge(a,l,mid,r);
64+
}
65+
66+
67+
}
68+
int main()
69+
{
70+
int a[]={5,4,3,2,1};
71+
mergesort(a,0,4);
72+
for(int i=0;i<5;i++)
73+
{
74+
cout<<a[i]<<" ";
75+
}
76+
cout<<endl;
77+
return 0;
78+
79+
}

0 commit comments

Comments
 (0)