Pagini recente » Cod sursa (job #1328699) | Cod sursa (job #655869) | Cod sursa (job #2828404) | Cod sursa (job #494398) | Cod sursa (job #1493091)
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void merge_sort(vector <int> &v, vector <int> &temp, int l, int r) {
if(r - l <= 1) return;
int m = l + (r-l)/2;
merge_sort(v, temp, l, m);
merge_sort(v, temp, m, r);
int i = l, j = m, k;
for(k = l; k < r; k++)
if(j == r || (i < m && v[i]<=v[j])) {
temp[k] = v[i];
i++;
}
else {
temp[k] = v[j];
j++;
}
for(k = l; k < r; k ++)
v[k] = temp[k];
}
#include <fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int main() {
int N, x, i;
f>>N;
vector <int> v, temp(N);
while(N--) {
f>>x;
v.push_back(x);
}
merge_sort(v, temp, 0, v.size());
for(i=0; i<v.size(); i++)
g<<v[i]<<' ';
}