Pagini recente » Cod sursa (job #1796807) | Cod sursa (job #593928) | Cod sursa (job #121469) | Cod sursa (job #1065196) | Cod sursa (job #1066666)
#include <stdio.h>
#include <fstream>
#include <iostream>
using namespace std;
int n,a[500008];
int part( int a[], int l, int r) {
int pivot, i, j, t;
pivot = a[l];
i = l;
j = r+1;
while(1)
{
do ++i; while( a[i] <= pivot && i <= r );
do --j; while( a[j] > pivot );
if( i >= j ) break;
t = a[i]; a[i] = a[j]; a[j] = t;
}
t = a[l];
a[l] = a[j];
a[j] = t;
return j;
}
void quickSort( int a[], int l, int r)
{
int j;
if( l < r )
{
j = part( a, l, r);
quickSort( a, l, j-1);
quickSort( a, j+1, r);
}
}
int main()
{
ifstream in ("algsort.in");
ofstream out ("algsort.out");
in>>n;
for(int i=1;i<=n;i++)
{
in>>a[i] ;
}
quickSort( a, 0, n);
for(int i = 1; i <=n; i++)
cout<<a[i]<<" ";
return 0;
}