Pagini recente » Cod sursa (job #2520025) | Cod sursa (job #2132065) | Cod sursa (job #542199) | Cod sursa (job #3230278) | Cod sursa (job #2268470)
#include<fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int N,a[1000005],b[1000005];
void MergeSort(int s,int d){
if(s==d) return ;
int m=(s+d)/2;
MergeSort(s,m);
MergeSort(m+1,d);
int i=s,j=m+1,k=0;
while(i<=m && j<=d)
if(a[i]<a[j])
b[++k]=a[i++];
else b[++k]=a[j++];
while(i<=m) b[++k]=a[i++];
while(j<=d) b[++k]=a[j++];
for(i=s,j=1;i<=d;i++,j++)
a[i]=b[j];
}
int main(){
cin>>N;
for(int i=1;i<=N;i++) cin>>a[i];
MergeSort(1,N);
for(int i=1;i<=N;i++) cout<<a[i]<<' ';
}