Pagini recente » Cod sursa (job #633602) | Cod sursa (job #2059492) | Cod sursa (job #2987486) | Cod sursa (job #2867132) | Cod sursa (job #2910596)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500005];
void quicksort(int lf, int rg)
{
if(lf>=rg)
return;
int firstfree=lf;
int med=(lf+rg)/2;
swap(v[rg], v[med]);
for(int i=lf; i<=rg-1; i++)
if(v[i]<v[rg])
{
swap(v[i], v[firstfree]);
firstfree++;
}
swap(v[rg], v[firstfree]);
quicksort(lf, firstfree-1);
quicksort(firstfree+1, rg);
}
int main()
{
int n;
fin>>n;
for(int i=1; i<=n; i++)
fin>>v[i];
quicksort(1, n);
for(int i=1; i<=n; i++)
fout<<v[i]<<" ";
return 0;
}