Pagini recente » Cod sursa (job #1960425) | Cod sursa (job #1729250) | Cod sursa (job #1044175) | Cod sursa (job #2587145) | Cod sursa (job #1086618)
#include<fstream>
using namespace std;
const int NM = 500003;
int a[NM],b[NM];
void MergeSort(int l,int r){
int m=(l+r)>>1;
int i,j,k;
if(l==r) return;
MergeSort(l,m);
MergeSort(m+1,r);
for(i=1;i<=m-l+1;++i) b[i]=a[l+i-1];
i = 1; j = m+1; k = l;
while(i<=m-l+1 && j<=r)
a[k++] = (a[j] < b[i]) ? a[j++] : b[i++];
while(i<=m-l+1) a[k++] = b[i++];
}
int main(){
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int N,i;
cin>>N;
for(i=1;i<=N;++i) cin>>a[i];
MergeSort(1,N);
for(i=1;i<=N;++i) cout<<a[i]<<' ';
return 0;
}