Pagini recente » Istoria paginii runda/2020/clasament | Cod sursa (job #2308192) | Cod sursa (job #1119155) | Cod sursa (job #855951) | Cod sursa (job #1053656)
#include<fstream>
#include<cstdlib>
using namespace std;
long long n,i,v[10000];
long partitie(int s,int r, int pivot)
{
long long pi=v[pivot];
long long ax;
ax=v[r];
v[r]=v[pivot];
v[pivot]=ax;
long long t=s;
for(int i=s;i<r;i++)
{
if(v[i]<=pi)
{
ax=v[i];
v[i]=v[t];
v[t]=ax;
t++;
}
}
ax=v[r];
v[r]=v[t];
v[t]=ax;
return t;
}
void qsort(int s, int r)
{
if(s<r)
{
int w=partitie(s,r,s+std::abs(v[s]%(r-s)));
qsort(s,w-1);
qsort(w+1,r);
}
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(i=1;i<=n;i++) f>>v[i];
f.close();
qsort(1,n);
for(i=1;i<=n;i++) g<<v[i]<<" ";
g.close();
return 0;
}