Pagini recente » Cod sursa (job #381729) | Cod sursa (job #873797) | Cod sursa (job #2938200) | Cod sursa (job #2193014) | Cod sursa (job #1267673)
#include <iostream>
#include <fstream>
using namespace std;
int v[500005], x[500005], n;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void mrgsrt(int left, int right)
{
if(left<right)
{
int i, j, k, m;
m= (left + right)/2;
mrgsrt(left, m);
mrgsrt(m+1, right);
i=left;
j=m+1;
k=left;
while(i<=m && j<=right)
{
if(v[i]<v[j])
x[k++]=v[i++];
else x[k++]=v[j++];
}
while(i<=m)
x[k++]=v[i++];
while(j<=right)
x[k++]=v[j++];
for(k=left; k<=right; k++)
v[k]=x[k];
}
}
int main()
{
fin >> n;
for(int i=1; i<=n; i++)
fin >> v[i];
mrgsrt(1, n);
for(int i=1; i<=n; i++)
fout<<v[i]<<" ";
fout<<"\n";
fin.close();
fout.close();
return 0;
}