Pagini recente » Cod sursa (job #2760214) | Cod sursa (job #2833686) | Cod sursa (job #321275) | Cod sursa (job #1169617) | Cod sursa (job #1785463)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, v[500005], A[500005];;
void sortare(int p, int u)
{
if(p < u)
{
int p1 = p;
int mid = (p + u) / 2 , mid1 = mid + 1, t, x = p1;
sortare(p,mid);
sortare(mid + 1,u);
while(p <= mid and mid1 <= u)
{
if(v[p] <= v[mid1])
{
A[x] = v[p];
++x;
++p;
}
else
{
A[x] = v[mid1];
++mid1;
++x;
}
}
while(p <= mid)
{
A[x] = v[p];
++x;
++p;
}
while(mid1 <= u)
{
A[x] = v[mid1];
++x;
++mid1;
}
for(int i = p1; i <= u; ++i)
{
v[i] = A[i];
}
}
}
void citire()
{
fin>>n;
for(int i = 1; i <= n; ++i)
{
fin>>v[i];
}
}
void afisare()
{
for(int i = 1; i <= n; ++i)
{
fout<<v[i]<<" ";
}
}
int main()
{
citire();
sortare(1,n);
afisare();
}