Pagini recente » Cod sursa (job #3001946) | Cod sursa (job #1479170) | Cod sursa (job #228885) | Cod sursa (job #538437) | Cod sursa (job #1480418)
#include <stdio.h>
#define Nadejde 500000
int N;
int a[Nadejde];
void sort(int begin, int end) {
int b = begin, e = end, pivot = a[(b + e) >> 1];
while (b <= e) {
while (a[b] < pivot) {
b++;
}
while (a[e] > pivot) {
e--;
}
if (b <= e) {
int tmp = a[b];
a[b++] = a[e];
a[e--] = tmp;
}
}
if (b < end) {
sort(b, end);
}
if (begin < e) {
sort(begin, e);
}
}
int main(void) {
int i;
FILE *f = fopen("algsort.in", "r");
fscanf(f, "%d", &N);
for (i = 0; i < N; i++) {
fscanf(f, "%d", &a[i]);
}
fclose(f);
f = fopen("algsort.out", "w");
sort(0, N - 1);
for (i = 0; i < N; i++) {
fprintf(f, "%d ", a[i]);
}
fputc('\n', f);
fclose(f);
/// Multumim Doamne!
puts("Doamne ajuta!");
return 0;
}