Cod sursa(job #2897664)

Utilizator vlad082002Ciocoiu Vlad vlad082002 Data 4 mai 2022 14:45:32
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

typedef long long ll;

using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int n, a[500005];

int partition(int l ,int r) {
    int pivot = a[r];  
 
    int i = (l - 1);

    for (int j = l; j <= r - 1; j++) {
        if (a[j] < pivot) {
            i++;  
            swap(a[i], a[j]);
        }
    }
    swap(a[i + 1], a[r]);
    return (i + 1);
}

void quickSort(int l, int r) {
    if(l == r) return;

    int part = partition(l, r);
    quickSort(l, part -1);
    quickSort(part+1, r);
}

int main() {
    fin >> n;
    for(int i = 1; i <= n; i++) fin >> a[i];


    quickSort(1, n);
    for(int i = 1; i <= n; i++) fout << a[i] << ' ';
    fout << '\n';
}