Cod sursa(job #846491)

Utilizator test_13testing test_13 Data 2 ianuarie 2013 12:29:00
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <cstring>
#include <vector>
#include <deque>
using namespace std;
#define Max 500001

int n,a[Max];

void qsort(int lf,int rt)
{
	int i=lf,j=rt,p=a[(lf+rt)/2];
	while(i<j)
	{
		while(a[i]<p)i++;
		while(a[j]>p)j--;
		if(i<=j)
		{
			swap(a[i],a[j]);
			i++;
			j--;
		}
	}
	if(j>lf)qsort(lf,j);
	if(i<rt)qsort(i,rt);
}

int main()
{
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);
		scanf("%d",&n);
		for(int i=1;i<=n;i++)scanf("%d",&a[i]);
		qsort(1,n);
		for(int i=1;i<=n;i++)printf("%d ",a[i]);
	return 0;
}