Cod sursa(job #823519)

Utilizator FernandoSandoiu Fernando Fernando Data 25 noiembrie 2012 09:41:51
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
using namespace std;
long long a[600000],n,st,dr;
ifstream f("algsort.in");
ofstream g("algsort.out");
void citire(long long a[], long long n)
{ long long i;
for(i=1;i<=n;i++)
	   f>>a[i];}
void qSort(long long a[],long long st,long long dr)
{long long temp,min,max,mijl;
mijl = a[st+(dr-st)/2];  
min = st; max = dr;
do
{while(a[min] < mijl) min++;   
while(a[max] > mijl) max--;  
if(min <= max)                           
	{
	temp = a[min];
	a[min++] = a[max];
	a[max--] = temp;   
	}
}while(min <= max); 
if(st < max) qSort(a,st,max); 
if(dr > min) qSort(a,min,dr);
}
void tiparire(long long a[], long long n)
{long long i;
for(i=1;i<=n;i++)
	   g<<a[i]<<" ";}
int main()
{f>>n;
citire(a,n);
st=1;
dr=n;
qSort(a,st,dr);
tiparire(a,n);
f.close();
g.close();
return 0;}