Pagini recente » Cod sursa (job #2639901) | Borderou de evaluare (job #3119557) | Borderou de evaluare (job #127701) | Cod sursa (job #1048962) | Cod sursa (job #2346678)
#include <bits/stdc++.h>
int v[500000];
void quicksort( int st, int dr ) {
int i, j, pivot, aux;
i = st;
j = dr;
pivot = v[( i + j ) / 2];
while ( i <= j ) {
while ( i < dr && v[i] < pivot )
i++;
while ( st < j && pivot < v[j] )
j--;
if ( i <= j ) {
aux = v[i];
v[i] = v[j];
v[j] = aux;
i++;
j--;
}
}
if ( st < j )
quicksort( st, j );
if ( i < dr )
quicksort( i, dr );
}
int main() {
FILE *fin, *fout;
int n, i;
fin = fopen( "algsort.in", "r" );
fout = fopen( "algsort.out", "w" );
fscanf( fin, "%d", &n );
for ( i = 0; i < n; i++ )
fscanf( fin, "%d", &v[i] );
quicksort( 0, n - 1 );
for ( i = 0; i < n; i++ )
fprintf( fout, "%d ", v[i] );
fclose( fin );
fclose( fout );
return 0;
}