Pagini recente » Cod sursa (job #871550) | Monitorul de evaluare | Cod sursa (job #763794) | Cod sursa (job #497917)
Cod sursa(job #497917)
#include <fstream>
using namespace std;
const char InFile[]="algsort.in";
const char OutFile[]="algsort.out";
const int MaxN=500111;
ifstream fin(InFile);
ofstream fout(OutFile);
int n,v[MaxN];
void merge_sort(int st, int sf)
{
if(st<sf)
{
int mid=(sf+st)>>1;
merge_sort(st,mid);
merge_sort(mid+1,sf);
int st1=st;
int st2=mid+1;
while(st1<sf)
{
if(st2<=sf)
{
if(v[st1]>v[st2])
{
swap(v[st1],v[st2]);
++st2;
}
}
++st1;
}
}
}
int main()
{
fin>>n;
for(register int i=1;i<=n;++i)
{
fin>>v[i];
}
fin.close();
merge_sort(1,n);
for(register int i=1;i<=n;++i)
{
fout<<v[i]<<" ";
}
fout.close();
return 0;
}