Pagini recente » Cod sursa (job #2557066) | Cod sursa (job #1733128) | Cod sursa (job #306957) | Cod sursa (job #825628) | Cod sursa (job #599464)
Cod sursa(job #599464)
#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 a[], 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;
}