Cod sursa(job #1013219)

Utilizator Lucian-GeorgeFMI Popa Lucian George Lucian-George Data 20 octombrie 2013 16:45:59
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#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;
}