Pagini recente » Cod sursa (job #699457) | Cod sursa (job #369386) | Cod sursa (job #2577911) | Cod sursa (job #2796401) | Cod sursa (job #599465)
Cod sursa(job #599465)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int a[500005], n;
void quicksort(int start, int end)
{
int pivot, i, j, aux;
i=start;
j=end;
pivot=a[(i+j)/2];
do
{
while(a[i]<pivot)
{
i++;
}
while(a[j]>pivot)
{
j--;
}
if(i<=j)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
i++;
j--;
}
}
while(i<=j);
if(start<j)
{
quicksort(start, j);
}
if(i<end)
{
quicksort(i, end);
}
}
void afisare(int n)
{
int i;
for(i=0;i<n;i++)
{
fout<<a[i]<<" ";
}
fout<<"\n";
}
int main()
{
int i;
fin>>n;
for(i=0;i<n;i++)
{
fin>>a[i];
}
quicksort(0, n-1);
afisare(n);
return 0;
}