Pagini recente » Cod sursa (job #2761050) | Cod sursa (job #47034) | Cod sursa (job #3030508) | Rating Aldea Petru Daniel (Petruiop) | Cod sursa (job #1979921)
#include<cstdio>
using namespace std;
const int NMAX=105;
int v[NMAX],aux[NMAX];
void interclasare(int st, int dr, int mij){
int ind,i=st,j=mij+1;
for(ind=st;ind<=dr;ind++)
if((v[i]<=v[j] && i<=mij) || j>dr)
aux[ind]=v[i++];
else
aux[ind]=v[j++];
for(i=st;i<=dr;i++)
v[i]=aux[i];
}
void merge_sort(int st, int dr){
int mij=(st+dr)/2;
if(st>=dr)
return ;
merge_sort(st, mij);
merge_sort(mij+1, dr);
interclasare(st, dr, mij);
}
int main(){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int n,i;
scanf("%d", &n);
for(i=1;i<=n;i++)
scanf("%d", &v[i]);
merge_sort(1, n);
for(i=1;i<=n;i++)
printf("%d ", v[i]);
return 0;
}