Cod sursa(job #611278)

Utilizator noobakafloFlorin eu noobakaflo Data 31 august 2011 16:58:02
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 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);
}


 
	
	
void ordonare_crescatoare(int *vector,int n)
{
	int st,dr;
	st=0; dr=n-1;
    qSort(vector,st,dr);
}


int main()
{
	int n,vector[500000],i;

	//Citirea sirului din fisier 
	f>>n;
	for (i=0; i<n; i++)
		f>>vector[i];


	ordonare_crescatoare(vector,n);

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