Pagini recente » Statistici Salak Nandor (Nandor97) | Istoria paginii utilizator/ezluci | Istoria paginii utilizator/robybrasov | Istoria paginii utilizator/ionut23catelina | Cod sursa (job #661330)
Cod sursa(job #661330)
#include<iostream.h>
#include<fstream.h>
int v[500001];
void merge(int v[],int l, int r, int mid)
{int w[500001], i, j, k;
i=0; j=l;
while (j<=mid)
w[i++]=v[j++];
i=0; k=l;
while (k<j && j<=r)
if (w[i] <= v[j])
v[k++]=w[i++];
else
v[k++]=v[j++];
while (k<j)
v[k++]=w[i++];
}
void merge_sort(int a[],int l, int r)
{if (l<r)
{int mid=(l+r)/2;
merge_sort(v,l, mid);
merge_sort(v,mid+1, r);
merge(v,l, r, mid);
}}
int main (){
int n;
fstream f("algsort.in",ios::in);
fstream g("algsort.out",ios::out);
f>>n;
for(int i=0;i<n;i++) //citirea vectorului
f>>v[i];
merge_sort(v,0,n-1); //sortarea vectorului
for(int i=0;i<n;i++) //afisarea vectorului
g<<v[i]<<" ";
return 0; }