Pagini recente » Cod sursa (job #1853763) | Cod sursa (job #2240381) | Cod sursa (job #1719961) | Cod sursa (job #1485082) | Cod sursa (job #1013219)
#include<iostream>
#include<fstream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
void merge (int v[], int a, int q, int b)
{
int i,vec[500000],p1,p2;
p1=a, p2=q+1;
for (i=1; i<=b-a+1; i++)
if (p1<q && p2<b)
if (v[p1]<v[p2])
{
vec[i]=v[p1];
p1++;
}
else
{
vec[i]=v[p2];
p2++;
}
for (i=a; i<=b; i++)
{v[i]=vec[i-a+1];
cout<<v[i]<<" ";
}
cout<<endl;
}
void sort (int v[], int a, int b)
{ int q;
if (a<b)
{
q=(a+b)/2;
sort (v,a,q);
sort (v,q+1,b);
merge (v,a,q,b);
}
}
int main()
{
int n=0,i,v[500000];
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for (i=1; i<=n; i++)
f>>v[n];
sort (v,1,n);
for(i=1; i<=n; i++)
g<<v[i]<<" ";
return 0;
}