Pagini recente » Cod sursa (job #1471328) | Cod sursa (job #1635178) | Cod sursa (job #2628717) | Cod sursa (job #854155) | Cod sursa (job #1280771)
#include<fstream>
using namespace std;
int c[500003], n, i, v[500003];
void interclasare (int p, int mij, int u){
int i=p;
int j=mij+1;
int k=p-1;
while(i<=mij && j<=u){
if(v[i]<v[j])
c[++k]=v[i++];
else
c[++k]=v[j++];
}
for(; i<=mij; i++)
c[++k]=v[i];
for(; j<=u; j++)
c[++k]=v[j];
for(i=p; i<=u; i++)
v[i]=c[i];
}
void sort(int p, int u){
if(p<u){
int mij=p+(u-p)/2;
sort(p, mij);
sort(mij+1, u);
interclasare(p, mij, u);
}
}
ifstream in("algsort.in");
ofstream out("algsort.out");
int main(){
in>>n;
for(i=1; i<=n; i++)
in>>v[i];
sort(1, n);
for(i=1; i<=n; i++)
out<<v[i]<<" ";
return 0;
}