Pagini recente » Borderou de evaluare (job #492064) | Borderou de evaluare (job #2687853) | Borderou de evaluare (job #1998538) | Borderou de evaluare (job #2023293) | Cod sursa (job #568177)
Cod sursa(job #568177)
#include<fstream>
using namespace std;
ifstream fi("algsort.in");
ofstream fo("algsort.out");
int n,v[500001];
void sorteaza(int st,int dr){
if(st<dr){
int m=(st+dr)/2;
sorteaza(st,m);
sorteaza(m+1,dr);
int w[st+dr+5];
int i=st;
int j=m+1;
int k=0;
while(i<=m&&j<=dr)
if(v[i]<v[j])
w[++k]=v[i++];
else
w[++k]=v[j++];
while(i<=m)
w[++k]=v[i++];
while(j<=dr)
w[++k]=v[j++];
for(int i=st,k=1;i<=dr;++i,++k)
v[i]=w[k];
}
}
int main() {
fi>>n;
for(int i=1;i<=n;++i)
fi>>v[i];
sorteaza(1,n);
for(int i=1;i<=n;++i)
fo<<v[i]<<' ';
fi.close();
fo.close();
return 0;
}