Pagini recente » Cod sursa (job #1014009) | Rating Alex HornyWhale (HornyWhale) | Cod sursa (job #358353) | Cod sursa (job #402098) | Cod sursa (job #1238713)
#include <iostream>
#include <stdio.h>
using namespace std;
int b[500002];
void mergesort(int l, int r, int a[])
{
if(l<r)
{
int k,i,j;
int m=(l+r)/2;
mergesort(l,m,a);
mergesort(m+1,r,a);
for(i=l, k=l, j=m+1; i<=m || j<=r; )
if((j>r)||(i<=m && a[i]<a[j]))
b[k++]=a[i++];
else
b[k++]=a[j++];
for(k=l;k<=r;k++)a[k]=b[k];
}
}
//int partition1337(int l, int r, int a[])
//{
//
//}
//void quicksort(int l, int r, int a[])
//{
// if(l<r)
// {
// int p=a[r];
// q=partition1337()
// }
//}
int main()
{
int n, a[500001],i;
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
cin>>n;
for(i=0;i<n;i++)cin>>a[i];
mergesort(0,n-1,a);
for(i=0;i<n;i++) cout<<a[i]<<" ";
}