Pagini recente » Cod sursa (job #274671) | Cod sursa (job #1818952) | Cod sursa (job #587527) | Cod sursa (job #134831) | Cod sursa (job #2059868)
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 500000;
int v[MAX_N];
int aux[MAX_N];
void mergesort(int st, int dr) {
int mid = (st + dr) / 2;
if(mid - st > 1) mergesort(st, mid);
if(dr - mid > 1) mergesort(mid, dr);
merge(v + st, v + mid, v + mid, v + dr, aux + st);
for(int i = st; i < dr; ++i)
v[i] = aux[i];
}
int main() {
int n;
FILE *fin = fopen("algsort.in", "r");
fscanf(fin, "%d", &n);
for(int i = 0; i < n; ++i)
fscanf(fin, "%d", &v[i]);
fclose(fin);
mergesort(0, n);
printf("~\n");
FILE *fout = fopen("algsort.out", "w");
for(int i = 0; i < n; ++i)
fprintf(fout, "%d ", v[i]);
fclose(fout);
return 0;
}