Pagini recente » Cod sursa (job #1167490) | Cod sursa (job #673168) | Cod sursa (job #145332) | Cod sursa (job #1568173) | Cod sursa (job #363738)
Cod sursa(job #363738)
#include<fstream.h>
ifstream intrare("algsort.in");
ofstream iesire("algsort.out");
long unsigned v[500001],n,i;
void schimba(long unsigned i,long unsigned j)
{
long unsigned t=v[i];
v[i]=v[j];
v[j]=t;
}
void quicksort(long unsigned st, long unsigned dr)
{
long unsigned m;
if(st>=dr) return;
m=st;
for(i=st+1;i<=dr;i++)
if(v[i]<v[st]) schimba(++m,i);
schimba(st,m);
quicksort(st,m-1);
quicksort(m+1,dr);
}
void citire()
{
intrare>>n;
for(i=1;i<=n;i++)
intrare>>v[i];
}
void afisare()
{
for(i=1;i<=n;i++)
iesire<<v[i]<<" ";
}
int main()
{
citire();
quicksort(1,n);
afisare();
return 0;
}