Pagini recente » Cod sursa (job #1230846) | Cod sursa (job #398928) | Cod sursa (job #111808) | Cod sursa (job #784755) | Cod sursa (job #1453249)
#include <bits/stdc++.h>
using namespace std;
int n,a[500013],aux[500013],i;
void MergeSort(int st,int dr)
{
int i,j,k;
int middle=st+(dr-st)/2;
if (st==dr) return ;
MergeSort(st,middle);
MergeSort(middle+1,dr);
for (i=st, j=middle+1, k=st; i<=middle || j<=dr; )
if (j>dr || (st<=middle && a[i] < a[j])) aux[k++]=a[i++];
else aux[k++]=a[j++];
for (k=st;k<=dr;++k) a[k]=aux[k];
}
int main(void)
{
ifstream cin("algsort.in");
ofstream cout("algsort.out");
cin>>n;
for (i=1;i<=n;++i) cin>>a[i];
MergeSort(1,n);
for (i=1;i<=n;++i) cout<<a[i]<<" ";
return 0;
}