Pagini recente » Cod sursa (job #2205696) | Cod sursa (job #2360221) | Cod sursa (job #2765923) | Cod sursa (job #2322637) | Cod sursa (job #2900785)
#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;
}
int 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;
}