Pagini recente » Cod sursa (job #3197635) | Cod sursa (job #872513) | Cod sursa (job #1641050) | Cod sursa (job #2323775) | Cod sursa (job #3254059)
#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]);
int aux=dst;
dst=-ddr;
ddr=-aux;
}
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]<<" ";
}