Cod sursa(job #611297)

Utilizator noobakafloFlorin eu noobakaflo Data 31 august 2011 17:53:36
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<iostream>
#include<fstream>
using namespace std;
fstream f("algsort.in",ios::in);
fstream g("algsort.out",ios::out);


//Metoda Quick Sort
void qSort(int vector[],int stanga,int dreapta)
{
	int i,j,aux,mijloc;
	i=stanga;
	j=dreapta;
	mijloc=vector[(stanga+dreapta)/2];

	while (mijloc > vector[i])
		i++;
	while (mijloc < vector[j])
		j--;
	if (i<=j)
	{
		aux=vector[i];
		vector[i]=vector[j];
		vector[j]=aux;
		i++;
		j--;
	}

	if (stanga<j)
		qSort(vector,stanga,j);
	if (i<dreapta)
		qSort(vector,i,dreapta);
}

int main()
{
	int n,vector[500000],i,stanga,dreapta;
	//Citirea sirului din fisier 
	f>>n;
	for (i=0; i<n; i++)
		f>>vector[i];

     stanga=0; dreapta=n-1;
	qSort(vector,stanga,dreapta);

	//Scrierea sirului in fisier
	for (i=0; i<n; i++)
		g<<vector[i]<<" ";
    
	f.close(); g.close();
	return 0;
}