Pagini recente » Cod sursa (job #1766396) | Cod sursa (job #835049) | Cod sursa (job #2069594) | Cod sursa (job #1263245) | Cod sursa (job #1059090)
#include<iostream.h>
void mergesort(int a[50],int st,int m,int dr)
{int b[50];
int i,j,k;
i=0;j=st;
while(j<=m)
b[i++]=a[j++];
i=0;k=st;
while (k<j&&j<=dr)
if(b[i]<=a[j])
a[k++]=b[i++];
else
a[k++]=a[j++];
while(k<j)
a[k++]=b[i++];
}
void merge(int a[20],int st, int dr)
{if(st<dr)
{int m=(st+dr)/2;
merge(a,st,m);
merge(a,m+1,dr);
mergesort(a,st,m,dr);
}
}
int main()
{int i,n,a[50],st,dr;
cin>>n;
for (i=1;i<=n;i++)
cin>>a[i];
dr=n;st=1;
merge(a,st,dr);
for (i=1;i<=n;i++)
cout<<a[i]<<" ";
return 0;}