Cod sursa(job #3128848)

Utilizator Dragos13Dragos Dragos13 Data 11 mai 2023 09:27:13
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
using namespace std;
long long int v[500000];
int quicksort1(int start, int final)
{
	int pivot = v[final];

	int index = start - 1;
	for (int i = start; i < final ; i++)
	{
		if (v[i] < pivot)
		{
			index++;
			int aux = v[index];
			v[index] = v[i];
			v[i] = aux;
		}

	}
	int aux = v[index + 1];
	v[index + 1] = v[final];
	v[final] = aux;
	return index + 1;
}
void quicksort(int start, int final) {
	if (final > start)
	{

		int felie = quicksort1(start, final);
		quicksort(start, felie - 1);
		quicksort(felie + 1, final);
	}
}
int main() {
	ifstream in("algsort.in");
	ofstream out("algsort.out");
	long long int n;
	in >> n;
	for (int i = 0; i < n; i++)
		in >> v[i];
	quicksort(0, n - 1);
	for (int i = 0; i < n; i++)
		out << v[i]<<" ";
}