Cod sursa(job #3254524)
| Utilizator | Data | 7 noiembrie 2024 18:59:09 | |
|---|---|---|---|
| Problema | Sortare prin comparare | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.75 kb |
#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 vi=0;
int vj=-1;
int i=st;
int j=dr;
int vt;
while (i<j) {
if (v[i]>v[j]) {
swap(v[i],v[j]);
vt=vi;
vi=-vj;
vj=-vt;
}
i+=vi;
j+=vj;
}
int mid=i;
srt(st,mid-1);
srt(mid+1,dr);
}
}
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]<<" ";
}
}
