Pagini recente » Cod sursa (job #2203662) | Cod sursa (job #1739247) | Cod sursa (job #2151552) | Cod sursa (job #2721472) | Cod sursa (job #570345)
Cod sursa(job #570345)
#include<fstream>
using namespace std;
const int N=500001;
int v[N],aux[N],n,i,j,k;
ifstream in("algsort.in");
ofstream out("algsort.out");
void merge_sort(int v[],int st,int dr)
{
if (st==dr)
return;
int m=(st+dr)/2;
merge_sort(v,st,m);
merge_sort(v,m+1,dr);
for(k=st,i=st,j=m+1;k<=dr;k++)
if (j>dr || v[i]<v[j] && i<=m)
aux[k]=v[i++];
else
aux[k]=v[j++];
for (k=st;k<=dr;k++)
v[k]=aux[k];
}
int main()
{
int i;
in>>n;
for (i=1;i<=n;i++)
in>>v[i];
merge_sort(v,1,n);
for (i=1;i<=n;i++)
out<<v[i]<<" ";
out<<"\n";
return 0;
}