Pagini recente » Cod sursa (job #2220477) | Cod sursa (job #7052) | Cod sursa (job #54219) | Cod sursa (job #2696075) | Cod sursa (job #1049285)
#include <fstream>
using namespace std;
int n;
int v[500005];
void inter(int a, int m, int b){
int c[500005];
int i=a;
int j=m+1;
int k=a-1;
while(i<=m && j<=b){
if(v[i]<v[j])
c[++k]=v[i++];
else
c[++k]=v[j++];
}
for(;i<=m;i++)
c[++k]=v[i];
for(;j<=b;j++)
c[++k]=v[j];
for(i=a;i<=b;i++)
v[i]=c[i];
}
void sorteaza(int a, int b){
if(a==b)
return;
int m=(a+b)/2;
sorteaza(a,m);
sorteaza(m+1,b);
inter(a,m,b);
}
int main(){
int i;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
sorteaza(1,n);
for(i=1;i<=n;i++)
g<<v[i]<<" ";
g<<"\n";
f.close();
g.close();
return 0;
}