Cod sursa(job #742600)

Utilizator Andrei.XweCobzaru Adrian-Andrei Andrei.Xwe Data 30 aprilie 2012 19:04:13
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
using namespace std;
ifstream fcin("algsort.in");
ofstream fcout("algsort.out");
void read(int v[],int &n)
{
	fcin>>n;
	for(int i=1;i<=n;i++)
		fcin>>v[i];
}
void quicksort(int v[],int st,int dr)
{
	int pivot,i,j;
	if(dr>st)
	{
		pivot=v[st+(dr-st)/2];
		i=st;
		j=dr;
		while(i<j)
		{
			while(v[i]<pivot)
				i++;
			while(v[j]>pivot)
				j--;
			if(j>i)
			{
				v[0]=v[i];
				v[i]=v[j];
				v[j]=v[0];
			}
		}
		quicksort(v,st,i-1);
		quicksort(v,j+1,dr);
	}
}
void print(int v[],int n)
{
	for(int i=1;i<=n;i++)
		fcout<<v[i]<<" ";
}
int main()
{
	int v[500001],n;
	read(v,n);
	quicksort(v,1,n);
	print(v,n);
	return 0;
}