File tree Expand file tree Collapse file tree 1 file changed +79
-0
lines changed
Expand file tree Collapse file tree 1 file changed +79
-0
lines changed Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments