Pagini recente » Cod sursa (job #1186446) | Cod sursa (job #2899239) | Cod sursa (job #1592840) | Cod sursa (job #2474429) | Cod sursa (job #750179)
Cod sursa(job #750179)
#include<iostream>
#include<fstream>
using namespace std;
int A[500001],B[500001],n;
void mergesort(int l,int r)
{
int m=(l+r)/2,k,i,j;
if(l==r) return;
mergesort(l,m);
mergesort(m+1,r);
for( i = l, j = m+1, k = l; 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 main()
{
int i;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(i=1;i<=n;++i)
f>>A[i];
mergesort(1,n);
for(i=1;i<=n;++i)
g<<A[i]<<' ';
return 0;
}