Pagini recente » Cod sursa (job #2586263) | Cod sursa (job #2598069) | Cod sursa (job #1708009) | Cod sursa (job #2189688) | Cod sursa (job #1619163)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
const int NMAX=500001;
long long i, n, a[NMAX];
int pivot(int s, int d)
{
int di=0;
while(s<d){
if(a[s]>a[d]){
swap(a[s],a[d]);
di=1-di;
}
s+=di;
d-=1-di;
}
return s;
}
void qs(int s, int d)
{
int k;
if(s<d){
k=pivot(s, d);
qs(s ,k-1);
qs(k+1, d);
}
}
void afis()
{
for(i=1;i<=n;i++) fout<<a[i]<<" ";
fout<<endl;
}
int main()
{
fin>>n;
for(i=1;i<=n;i++) fin>>a[i];
qs(1, n);
afis();
return 0;
}