Pagini recente » Cod sursa (job #1547803) | Cod sursa (job #1014233) | Cod sursa (job #1378014) | Cod sursa (job #976930) | Cod sursa (job #1280625)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500003],n,i,j,x[500003],m,k;
void interclasez(int p,int m,int u){
k=p-1;
i=p;
j=m+1;
while(i<=m && j<=u){
if(v[i]<v[j]){
x[++k]=v[i++];
}else{
x[++k]=v[j++];
}
}
for(;i<=m;i++){
x[++k]=v[i];
}
for(;j<=u;j++){
x[++k]=v[j];
}
for(i=p;i<=u;i++){
v[i]=x[i];
}
}
void sortez(int p, int u){
if(p<u){
int m=(p+u)/2;
sortez(p,m);
sortez(m+1,u);
interclasez(p,m,u);
}
}
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i];
}
sortez(1,n);
for(i=1;i<=n;i++){
fout<<v[i]<<" ";
}
return 0;
}