Cod sursa(job #1670781)

Utilizator ArkinyStoica Alex Arkiny Data 1 aprilie 2016 00:09:48
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 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;
}