Pagini recente » Cod sursa (job #2415399) | Cod sursa (job #1647713) | Cod sursa (job #2584218) | Cod sursa (job #603259) | Cod sursa (job #3254057)
#include <bits/stdc++.h>
#define DIM 500001
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, i;
int v[DIM];
int poz(int a[], int st, int dr){
int ist=st, idr=dr;
int dst=0, ddr=-1;
while(ist<idr){
if(a[ist]>a[idr]){
swap(a[ist], a[idr]);
swap(dst, ddr);
dst=-dst;
ddr=-ddr;
}
ist+=dst;
idr+=ddr;
}
return ist;
}
void sortare(int a[], int st, int dr){
if(st<dr){
int p=poz(a, st, dr);
sortare(a, st, p);
sortare(a, p+1, dr);
}
}
int main(){
fin>>n;
for(i=1; i<=n; i++)
fin>>v[i];
sortare(v, 1, n);
for(i=1; i<=n; i++)
fout<<v[i]<<" ";
}