Pagini recente » Cod sursa (job #2253711) | Clasament 885900 | Cod sursa (job #1268939) | Cod sursa (job #2314830) | Cod sursa (job #2900796)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n,v[500001];
int pivotare(int s,int d)
{int i,j,pasi,pasj;
i=s;j=d;
pasi=0;pasj=1;
while(i<j)
{if(v[i]>v[j]) {swap(v[i],v[j]);
pasi=1-pasi;
pasj=1-pasj;
}
i+=pasi;
j-=pasj;
}
return i;
}
void QS(int s,int d)
{ int p;
if(s<d){p=pivotare(s,d);
QS(s,p-1);
QS(p+1,d);
}
}
int main()
{ int i;
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
QS(1,n);
for(i=1;i<=n;i++)
fout<<v[i]<<" ";
return 0;
}