Pagini recente » Cod sursa (job #2987305) | Cod sursa (job #898296) | Cod sursa (job #247493) | Cod sursa (job #534273) | Cod sursa (job #1542894)
#include <cstdio>
using namespace std;
int v[500005];
int t[500005];
void sorta( int st, int dr ){
int i, j, k, mid;
if( st == dr ) return ;
mid = ( st + dr ) / 2;
sorta( st, mid );
sorta( mid + 1, dr );
k = st;
i = st;
j = mid + 1;
while( i <= mid || j <= dr )
if( ( j > dr ) || ( i <= mid && v[i] <= v[j] ) ) t[k++] = v[i++];
else t[k++] = v[j++];
for( i = st; i <= dr; ++i )
v[i] = t[i];
}
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]);
sorta( 1, n );
for( i = 1; i <= n; ++i ) printf("%d ",v[i]);
return 0;
}