Cod sursa(job #2897312)

Utilizator vladadAndries Vlad Andrei vladad Data 3 mai 2022 14:33:45
Problema Sortare prin comparare Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int n, v[500001], c[500001];
void QuickSort(int l, int r) {
    if(l < r) {
        int mid = (l + r) / 2;
        swap(v[l], v[mid]);
        int i = l, j = r, d = 0;
        while(i < j) {
            if(v[i] > v[j]) {
                swap(v[i], v[j]);
                d = 1 - d;
            }
            i += d;
            j += d - 1;
        }
        QuickSort(l, i - 1);
        QuickSort(i + 1, r);
    }
}
int main()
{
    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] << ' ';
    return 0;
}