Pagini recente » Cod sursa (job #2120785) | Cod sursa (job #366029) | Cod sursa (job #1801157) | Cod sursa (job #1452152) | Cod sursa (job #3254517)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n,m,i,j;
int v[500010],w[500010];
void srt(int st,int dr) {
if (st<dr) {
int mid=(st+dr)/2;
srt(st,mid);
srt(mid+1,dr);
int i=st;
int j=mid+1;
int k=st-1;
while (st<=mid&&j<=dr) {
if (v[i]<v[j]) {
w[++k]=v[i];
i++;
}
else {
w[++k]=v[j];
j++;
}
}
while (i<=mid) {
w[++k]=v[i];
i++;
}
while (j<=dr) {
w[++k]=v[j];
j++;
}
for (i=st;i<=dr;i++) {
v[i]=w[i];
}
}
}
int main () {
cin>>n;
for (i=1;i<=n;i++) {
cin>>v[i];
}
srt(1,n);
for (i=1;i<=n;i++) {
cout<<v[i]<<" ";
}
}