Cod sursa(job #661330)

Utilizator sorina.vasileVasile Sorina sorina.vasile Data 14 ianuarie 2012 12:29:11
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#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;	}