Pagini recente » Cod sursa (job #2438275) | Cod sursa (job #724905) | Cod sursa (job #2584011) | Cod sursa (job #1162310) | Cod sursa (job #3209000)
#include<bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g1("algsort.out");
int n,v[500005],g[500005];
void merge_sort(int s[], int st, int dr)
{
if(st>=dr)
return;
int mij=(st+dr)/2;
merge_sort(s,st,mij);
merge_sort(s,mij+1,dr);
int i=st;
int j=mij+1;
int k=0;
while(i<=mij && j<=dr)
{
if(v[i]<v[j])
g[++k]=v[i],i++;
else
g[++k]=v[j],j++;
}
while(i<=mij)
g[++k]=v[i],i++;
while(j<=dr)
g[++k]=v[j],j++;
for(i=st,j=1;i<=dr;i++,j++)
s[i]=g[j];
}
int main()
{
int i;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
merge_sort(v,1,n);
for(i=1;i<=n;i++)
g1<<v[i]<<" ";
return 0;
}