Pagini recente » Cod sursa (job #1990116) | Cod sursa (job #1035873) | Monitorul de evaluare | Cod sursa (job #1993377) | Cod sursa (job #1427368)
#include <cstdio>
#include <stdlib.h>
using namespace std;
void quicksort ( long array[500005], int dr, int stg)
{
int aux, min, max, sp;
min = dr;
max = stg;
sp = array[(dr+stg) /2];
do
{
while(array[min] < sp)
min++;
while(array[max] > sp)
max--;
if(min <= max)
{
aux = array[min];
array[min++] = array[max];
array[max--] = aux;
}
}
while(min<=max);
if(dr < max)
quicksort (array, dr, max);
if(min < stg)
quicksort(array, min, stg);
}
int main ()
{
long val[500005], i, n;
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
scanf("%ld",&n);
for(i=0; i<n; i++)
scanf("%ld", &val[i]);
quicksort(val, 0, n-1);
for(i=0; i<n; i++)
printf("%ld ", val[i]);
return 0;
}