Pagini recente » Cod sursa (job #699252) | Cod sursa (job #825361) | Cod sursa (job #2436107) | Cod sursa (job #2909533) | Cod sursa (job #246991)
Cod sursa(job #246991)
#include<stdio.h>
#include<iostream.h>
#define fin "algsort.in"
#define fout "algsort.out"
int x[5000], n;
void swap( int &x, int &y)
{
int aux;
aux = x;
x = y;
y = aux;
}
void quicksort(int a[], int l, int r)
{
int i = l-1, j = r;
int v = a[r];
if( r <= l )
return;
for( ; ; )
{
while ( a[++i] < v );
while ( v < a[--j] )
if( j == l)
break;
if( i >= j)
break;
swap(a[i], a[j]);
}
swap( a[i], a[r]);
quicksort( a, l, i-1);
quicksort( a, i+1, r);
}
int main(void)
{
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
scanf("%d", &n);
for(register int i =1 ; i <= n; i++)
scanf("%d",&x[i]);
quicksort(x, 1 , n);
for(register int i = 1; i <= n; i++)
printf("%d ",x[i]);
printf("\n");
fcloseall();
return 0;
}