Cod sursa(job #2761503)

Utilizator mafiotxrobeert mafiotx Data 2 iulie 2021 14:37:04
Problema Sortare prin comparare Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream> 
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm> 
#include <cstring>

using namespace std;

string NumeFisier = "algsort";
ifstream fin(NumeFisier + ".in");
ofstream fout(NumeFisier + ".out");

typedef unsigned long long int ull;

void QuickSort(int v[], int left, int right)
{
	if (left < right)
	{
		int mid = (left + right) / 2;
		swap(v[left], v[mid]);
		int i = left, j = right, d = 0;
		while (i < j)
		{
			if (v[i] > v[j])
			{
				swap(v[i], v[j]);
				d = 1 - d;
			}i += d;
			j -= 1 - d;
		}
		QuickSort(v, left, i - 1);
		QuickSort(v, i + 1, right);
	}

}

int main()
{
	int n,v[500001];
	fin >> n;
	for (int i = 1; i <= n; i++)
		fin >> v[i];
	QuickSort(v, 1, n);
	for (int i = 1; i <= n; i++)
		fout << v[i] << ' ';
}