Cod sursa(job #1647844)

Utilizator ArkinyStoica Alex Arkiny Data 10 martie 2016 22:21:10
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<algorithm>
using namespace std;

ifstream in("algsort.in");
ofstream out("algsort.out");

int N,v[500010];

void quicksort(int x,int y)
{
	if (x < y)
	{
		int mid = (x + y) / 2;
		int piv = v[mid];
		int i = x, j = y;

		while (i <= j)
		{
			while (v[i] < piv)
				++i;
			while (v[j] > piv)
				--j;

			if (i <= j)
			{
				swap(v[i], v[j]);
				++i,--j;
			}
		}

		quicksort(x, j);
		quicksort(i, y);
	}

}

int main()
{
	in >> N;
	for (int i = 1;i <= N;++i)
		in >> v[i];

	quicksort(1, N);

	for (int i = 1;i <= N;++i)
		out << v[i] << " ";
	
	return 0;
}