Pagini recente » Cod sursa (job #2266913) | Cod sursa (job #1201742) | Cod sursa (job #2117310) | Cod sursa (job #2630890) | Cod sursa (job #2284456)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int n,a[500001];
int partitionare(int a[],int l,int r)
{
int i=l;
while(a[i]<=a[r]&&i<r)
++i;
for(int c=i;c<r;++c)
if(a[c]<=a[r])
{
swap(a[c],a[i]);
++i;
}
swap(a[i],a[r]);
return i;
}
void quicksort(int a[],int l,int r)
{
int p;
if(r<l)
return;
p=partitionare(a,l,r);
quicksort(a,l,p-1);
quicksort(a,p+1,r);
}
int main()
{
in>>n;
for(int i=1;i<=n;++i)
in>>a[i];
quicksort(a,1,n);
for(int i=1;i<=n;++i)
out<<a[i]<<" ";
return 0;
}