Cod sursa(job #2974232)

Utilizator unomMirel Costel unom Data 3 februarie 2023 16:21:17
Problema Sortare prin comparare Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

int v[500006];

void QuickSort(int st, int dr)
{
	if(st < dr)
	{
		//pivotul este inițial v[st]
		int m = (st + dr) / 2;
		int aux = v[st];
		v[st] = v[m];
		v[m] = aux;
		int i = st , j = dr, d = 0;
		while(i < j)
		{
			if(v[i] > v[j])
			{
				aux = v[i];
				v[i] = v[j];
				v[j] = aux;
				d = 1 - d;
			}
			i += d;
			j -= 1 - d;
		}
		QuickSort(st , i - 1);
		QuickSort(i + 1 , dr);
	}
}

int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    int n;
    f>>n;
    for(int i = 1; i<=n; i++)
    {
        f>>v[i];
    }

    QuickSort(1, n);

    for(int i = 1; i<=n; i++)
    {
        g<<v[i]<<" ";
    }

}