Pagini recente » Cod sursa (job #2957703) | Cod sursa (job #2908266) | Cod sursa (job #2187378) | Cod sursa (job #378793) | Cod sursa (job #3254332)
#include<bits/stdc++.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int n,i,v[500001],srt[500001];
void msort(int v[], int st, int dr){
if(st<dr){
int mid=(st+dr) / 2;
msort(v,st,mid);
msort(v,mid+1,dr);
int i=st, j=mid+1, k=0;
while( i<=mid && j<=dr)
if(v[i]<v[j])
srt[++k]=v[i++];
else
srt[++k]=v[j++];
while(i<=mid)
srt[++k]=v[i++];
while(j<=dr)
srt[++k]=v[j++];
for(i=st,j=1; i<= dr ; i++, j++)
v[i] = srt[j];
}
}
int main (){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
msort(v,1,n);
for(i=1;i<=n;i++)
fout<<v[i]<<" ";
}