Pagini recente » Cod sursa (job #963190) | Istoria paginii runda/runda12 | Cod sursa (job #1038849) | Statistici Nica Eduard-Costin (Edi69Nica) | Cod sursa (job #2183914)
#include <fstream>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
int n,i,v[500002];
int poz (int st,int dr){
int dst = 0;
int ddr = -1;
int aux;
while (st < dr){
if (v[st] > v[dr]){
swap (v[st],v[dr]);
aux = dst;
dst = -ddr;
ddr = -aux;
}
st += dst;
dr += ddr;
}
return st;
}
void sorteaza (int st,int dr){
if (st <= dr){
int p = poz (st,dr);
sorteaza (st,p-1);
sorteaza (p+1,dr);
}
}
int main (){
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sorteaza (1,n);
for (i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}