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