Pagini recente » Cod sursa (job #2083539) | Cod sursa (job #1716604) | Cod sursa (job #859766) | Cod sursa (job #304368) | Cod sursa (job #3254019)
#include <bits/stdc++.h>
#define DIM 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, i;
int v[DIM];
void inter(int a[], int st, int dr){
int mij=(st+dr)/2;
int i1=st, i2=mij+1;
int poz=st-1;
int i[DIM];
while(i1<=mij && i2<=dr)
if(a[i1]<=a[i2])
i[++poz]=a[i1++];
else i[++poz]=a[i2++];
while(i1<=mij)
i[++poz]=a[i1++];
while(i2<=dr)
i[++poz]=a[i2++];
for(poz=st; poz<=dr; poz++)
a[poz]=i[poz];
}
void sortare(int a[], int st, int dr){
if(st<dr){
int mij=(st+dr)/2;
sortare(a, st, mij);
sortare(a, mij+1, dr);
}
inter(a, st, dr);
}
int main(){
fin>>n;
for(i=1; i<=n; i++)
fin>>v[i];
sortare(v, 1, n);
for(i=1; i<=n; i++)
fout<<v[i]<<" ";
}