Pagini recente » Cod sursa (job #3002230) | Cod sursa (job #1671399) | Cod sursa (job #1389610) | Cod sursa (job #684257) | Cod sursa (job #999408)
Cod sursa(job #999408)
#include <iostream>
#include <fstream>
#include <cassert>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
int v[100], n, c=1;
void sort(int lo, int hi, int x[])
{
if (lo >= hi) return;
int mid = (lo + hi) / 2;
sort(lo, mid, x);
sort(mid + 1, hi, x);
int i = lo, j = mid + 1;
c = lo;
while(i <= mid || j <= hi)
{
if ((i <= mid && v[i] <= v[j]) || j > hi)
{
x[c] = v[i];
i++;
}
else
{
x[c] = v[j];
j++;
}
c++;
}
for(int i = lo; i <= hi; i++)
{
v[i] = x[i];
}
}
int main()
{
int x[100];
in >> n;
for(int i = 1; i <= n; i++)
in >> v[i];
sort(1, n, x);
for(int i = 1; i <= n; i++)
out << v[i] << " ";
return 0;
}