Pagini recente » Cod sursa (job #2422989) | Cod sursa (job #3270281) | Cod sursa (job #3261962) | Cod sursa (job #2177257) | Cod sursa (job #3262865)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[10001];
int aux[10001];
void merge(int st, int dr) {
if(st == dr)
return ;
int mid = (st + dr) / 2;
merge(st,mid);
merge(mid + 1, dr);
int i = st, j = mid + 1;
int cnt = 0;
while(i <= mid && j <= dr){
if(v[i] > v[j]){
aux[++cnt] = v[j];
j++;
}
else{
aux[++cnt] = v[i];
i++;
}
}
while(i <= mid){
aux[++cnt] = v[i];
i++;
}
while(j <= dr){
aux[++cnt] = v[j];
j++;
}
for(int k = 1; k <= cnt; k ++){
v[st + k - 1] = aux[k];
}
}