Pagini recente » Cod sursa (job #651002) | Cod sursa (job #915032) | Cod sursa (job #667167) | Cod sursa (job #16506) | Cod sursa (job #1050322)
#include <fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n, i, v[500001], a[500001];
void merge_sort(int v[], int st, int dr)
{
int m=(st+dr)>>1, i, j, k;
if(st==dr) return;
merge_sort(v, st, m);
merge_sort(v, m+1, dr);
for(i=st, j=m+1, k=st; i<=m || j<=dr;)
if(j>dr || (i<=m && v[i]<v[j])) a[k++]=v[i++];
else a[k++]=v[j++];
for(k=st; k<=dr; k++) v[k]=a[k];
}
int main()
{
cin>>n;
for(i=1; i<=n; i++) cin>>v[i];
merge_sort(v, 1, n);
for(i=1; i<=n; i++) cout<<v[i]<<" ";
return 0;
}