Pagini recente » Cod sursa (job #1578956) | Cod sursa (job #1100693) | Cod sursa (job #910231) | Cod sursa (job #3132585) | Cod sursa (job #1240016)
#include <stdio.h>
#define FIN "algsort.in"
#define FOUT "algsort.out"
#define MAXN 500005
int vec[ MAXN ],
N;
void quicksort(int li, int ls) {
int i,
j,
i1,
j1,
aux;
i = li;
j = ls;
i1 = 0;
j1 = -1;
while( i < j ) {
if(vec[ i ] > vec[ j ]) {
aux = vec[ i ] ^ vec[ j ];
vec[ i ] = aux ^ vec[ i ];
vec[ j ] = aux ^ vec[ j ];
}
i = i + i1;
j = j + j1;
}
if(li < ls) {
quicksort(li, i - 1);
quicksort(i + 1, ls);
}
}
void write() {
int i;
freopen(FOUT, "w", stdout);
for(i = 0; i < N; i++) {
printf("%d ", vec[ i ]);
}
fclose( stdout );
}
void read() {
int i;
freopen(FIN, "r", stdin);
scanf("%d",&N);
for(i = 0; i < N; i++) {
scanf("%d", &vec[ i ]);
}
fclose( stdin );
}
int main() {
read();
quicksort(0, N-1);
write();
return(0);
}